/**
 */
package org.mro.grib.model.files.secondEdition.grids.impl;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EPackageImpl;
import org.mro.grib.model.files.firstEdition.FirstEditionPackage;
import org.mro.grib.model.files.firstEdition.impl.FirstEditionPackageImpl;
import org.mro.grib.model.files.firstEdition.sections.SectionsPackage;
import org.mro.grib.model.files.firstEdition.sections.impl.SectionsPackageImpl;
import org.mro.grib.model.files.secondEdition.SecondEditionPackage;
import org.mro.grib.model.files.secondEdition.dataRepresentations.DataRepresentationsPackage;
import org.mro.grib.model.files.secondEdition.dataRepresentations.impl.DataRepresentationsPackageImpl;
import org.mro.grib.model.files.secondEdition.grids.EarthShapeGridDefinition;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate30;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate31;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate310;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate3100;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate31000;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate3101;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate3110;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate31100;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate312;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate3120;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate31200;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate32;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate320;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate33;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate330;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate331;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate34;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate340;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate341;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate342;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate343;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate35;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate350;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate351;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate352;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate353;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplate390;
import org.mro.grib.model.files.secondEdition.grids.GridDefinitionTemplateNumber;
import org.mro.grib.model.files.secondEdition.grids.GridPointPosition;
import org.mro.grib.model.files.secondEdition.grids.GridsFactory;
import org.mro.grib.model.files.secondEdition.grids.GridsPackage;
import org.mro.grib.model.files.secondEdition.grids.IGridDefinition;
import org.mro.grib.model.files.secondEdition.grids.InterpretationOfListOfNumbersAtEndOfSection3;
import org.mro.grib.model.files.secondEdition.grids.NumberingOrderOfDiamondsAsSeenFromTheCorrespondingPole;
import org.mro.grib.model.files.secondEdition.grids.PhysicalMeaningOfVerticalCoordinate;
import org.mro.grib.model.files.secondEdition.grids.ProjectionCentre;
import org.mro.grib.model.files.secondEdition.grids.ResolutionAndComponentFlags;
import org.mro.grib.model.files.secondEdition.grids.ScanningMode;
import org.mro.grib.model.files.secondEdition.grids.ShapeOfTheEarth;
import org.mro.grib.model.files.secondEdition.grids.SourceOfGridDefinition;
import org.mro.grib.model.files.secondEdition.grids.SpectralDataRepresentationMode;
import org.mro.grib.model.files.secondEdition.grids.SpectralDataRepresentationType;
import org.mro.grib.model.files.secondEdition.grids.TypeOfHorizontalLine;
import org.mro.grib.model.files.secondEdition.grids.VerticalDimensionCoordinateValuesDefinition;
import org.mro.grib.model.files.secondEdition.impl.SecondEditionPackageImpl;
import org.mro.grib.model.files.secondEdition.products.ProductsPackage;
import org.mro.grib.model.files.secondEdition.products.impl.ProductsPackageImpl;
import org.mro.grib.model.files.secondEdition.products.meteorological.MeteorologicalPackage;
import org.mro.grib.model.files.secondEdition.products.meteorological.impl.MeteorologicalPackageImpl;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model <b>Package</b>.
 * <!-- end-user-doc -->
 * @generated
 */
public class GridsPackageImpl extends EPackageImpl implements GridsPackage {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass iGridDefinitionEClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass earthShapeGridDefinitionEClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate30EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate31EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate32EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate33EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate34EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate35EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate310EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate312EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate320EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate330EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate331EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate340EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate341EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate342EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate343EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate350EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate351EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate352EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate353EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate390EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate3100EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate3101EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate3110EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate3120EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate31000EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate31100EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass gridDefinitionTemplate31200EClass = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum gridDefinitionTemplateNumberEEnum = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum sourceOfGridDefinitionEEnum = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum shapeOfTheEarthEEnum = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum gridPointPositionEEnum = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum interpretationOfListOfNumbersAtEndOfSection3EEnum = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum physicalMeaningOfVerticalCoordinateEEnum = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum typeOfHorizontalLineEEnum = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum verticalDimensionCoordinateValuesDefinitionEEnum = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum resolutionAndComponentFlagsEEnum = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum scanningModeEEnum = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum projectionCentreEEnum = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum spectralDataRepresentationTypeEEnum = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum spectralDataRepresentationModeEEnum = null;
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum numberingOrderOfDiamondsAsSeenFromTheCorrespondingPoleEEnum = null;
	/**
	 * Creates an instance of the model <b>Package</b>, registered with
	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
	 * package URI value.
	 * <p>Note: the correct way to create the package is via the static
	 * factory method {@link #init init()}, which also performs
	 * initialization of the package, or returns the registered package,
	 * if one already exists.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see org.eclipse.emf.ecore.EPackage.Registry
	 * @see org.mro.grib.model.files.secondEdition.grids.GridsPackage#eNS_URI
	 * @see #init()
	 * @generated
	 */
	private GridsPackageImpl() {
		super(eNS_URI, GridsFactory.eINSTANCE);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private static boolean isInited = false;

	/**
	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
	 * 
	 * <p>This method is used to initialize {@link GridsPackage#eINSTANCE} when that field is accessed.
	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #eNS_URI
	 * @see #createPackageContents()
	 * @see #initializePackageContents()
	 * @generated
	 */
	public static GridsPackage init() {
		if (isInited) return (GridsPackage)EPackage.Registry.INSTANCE.getEPackage(GridsPackage.eNS_URI);

		// Obtain or create and register package
		GridsPackageImpl theGridsPackage = (GridsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof GridsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new GridsPackageImpl());

		isInited = true;

		// Obtain or create and register interdependencies
		FirstEditionPackageImpl theFirstEditionPackage = (FirstEditionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FirstEditionPackage.eNS_URI) instanceof FirstEditionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FirstEditionPackage.eNS_URI) : FirstEditionPackage.eINSTANCE);
		org.mro.grib.model.files.firstEdition.grids.impl.GridsPackageImpl theGridsPackage_1 = (org.mro.grib.model.files.firstEdition.grids.impl.GridsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(org.mro.grib.model.files.firstEdition.grids.GridsPackage.eNS_URI) instanceof org.mro.grib.model.files.firstEdition.grids.impl.GridsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(org.mro.grib.model.files.firstEdition.grids.GridsPackage.eNS_URI) : org.mro.grib.model.files.firstEdition.grids.GridsPackage.eINSTANCE);
		SectionsPackageImpl theSectionsPackage = (SectionsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SectionsPackage.eNS_URI) instanceof SectionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SectionsPackage.eNS_URI) : SectionsPackage.eINSTANCE);
		SecondEditionPackageImpl theSecondEditionPackage = (SecondEditionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SecondEditionPackage.eNS_URI) instanceof SecondEditionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SecondEditionPackage.eNS_URI) : SecondEditionPackage.eINSTANCE);
		org.mro.grib.model.files.secondEdition.sections.impl.SectionsPackageImpl theSectionsPackage_1 = (org.mro.grib.model.files.secondEdition.sections.impl.SectionsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(org.mro.grib.model.files.secondEdition.sections.SectionsPackage.eNS_URI) instanceof org.mro.grib.model.files.secondEdition.sections.impl.SectionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(org.mro.grib.model.files.secondEdition.sections.SectionsPackage.eNS_URI) : org.mro.grib.model.files.secondEdition.sections.SectionsPackage.eINSTANCE);
		ProductsPackageImpl theProductsPackage = (ProductsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ProductsPackage.eNS_URI) instanceof ProductsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ProductsPackage.eNS_URI) : ProductsPackage.eINSTANCE);
		MeteorologicalPackageImpl theMeteorologicalPackage = (MeteorologicalPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MeteorologicalPackage.eNS_URI) instanceof MeteorologicalPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MeteorologicalPackage.eNS_URI) : MeteorologicalPackage.eINSTANCE);
		DataRepresentationsPackageImpl theDataRepresentationsPackage = (DataRepresentationsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataRepresentationsPackage.eNS_URI) instanceof DataRepresentationsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataRepresentationsPackage.eNS_URI) : DataRepresentationsPackage.eINSTANCE);

		// Create package meta-data objects
		theGridsPackage.createPackageContents();
		theFirstEditionPackage.createPackageContents();
		theGridsPackage_1.createPackageContents();
		theSectionsPackage.createPackageContents();
		theSecondEditionPackage.createPackageContents();
		theSectionsPackage_1.createPackageContents();
		theProductsPackage.createPackageContents();
		theMeteorologicalPackage.createPackageContents();
		theDataRepresentationsPackage.createPackageContents();

		// Initialize created meta-data
		theGridsPackage.initializePackageContents();
		theFirstEditionPackage.initializePackageContents();
		theGridsPackage_1.initializePackageContents();
		theSectionsPackage.initializePackageContents();
		theSecondEditionPackage.initializePackageContents();
		theSectionsPackage_1.initializePackageContents();
		theProductsPackage.initializePackageContents();
		theMeteorologicalPackage.initializePackageContents();
		theDataRepresentationsPackage.initializePackageContents();

		// Mark meta-data to indicate it can't be changed
		theGridsPackage.freeze();

  
		// Update the registry and return the package
		EPackage.Registry.INSTANCE.put(GridsPackage.eNS_URI, theGridsPackage);
		return theGridsPackage;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getIGridDefinition() {
		return iGridDefinitionEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getEarthShapeGridDefinition() {
		return earthShapeGridDefinitionEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEarthShapeGridDefinition_ShapeOfTheEarth() {
		return (EAttribute)earthShapeGridDefinitionEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEarthShapeGridDefinition_ScaleFactorOfRadiusOfSphericalEarth() {
		return (EAttribute)earthShapeGridDefinitionEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEarthShapeGridDefinition_ScaledValueOfRadiusOfSphericalEarth() {
		return (EAttribute)earthShapeGridDefinitionEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEarthShapeGridDefinition_ScaleFactorOfMajorAxisOfOblateSpheroidEarth() {
		return (EAttribute)earthShapeGridDefinitionEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEarthShapeGridDefinition_ScaledValueOfMajorAxisOfOblateSpheroidEarth() {
		return (EAttribute)earthShapeGridDefinitionEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEarthShapeGridDefinition_ScaleFactorOfMinorAxisOfOblateSpheroidEarth() {
		return (EAttribute)earthShapeGridDefinitionEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEarthShapeGridDefinition_ScaledValueOfMinorAxisOfOblateSpheroidEarth() {
		return (EAttribute)earthShapeGridDefinitionEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate30() {
		return gridDefinitionTemplate30EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate30_NumberOfPointsAlongAParallel() {
		return (EAttribute)gridDefinitionTemplate30EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate30_NumberOfPointsAlongAMeridian() {
		return (EAttribute)gridDefinitionTemplate30EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate30_BasicAngleOfTheInitialProductionDomain() {
		return (EAttribute)gridDefinitionTemplate30EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate30_SubdivisionsOfBasicAngle() {
		return (EAttribute)gridDefinitionTemplate30EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate30_LatitudeOfFirstGridPoint() {
		return (EAttribute)gridDefinitionTemplate30EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate30_LongitudeOfFirstGridPoint() {
		return (EAttribute)gridDefinitionTemplate30EClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate30_ResolutionAndComponentFlags() {
		return (EAttribute)gridDefinitionTemplate30EClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate30_LatitudeOfLastGridPoint() {
		return (EAttribute)gridDefinitionTemplate30EClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate30_LongitudeOfLastGridPoint() {
		return (EAttribute)gridDefinitionTemplate30EClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate30_IDirectionIncrement() {
		return (EAttribute)gridDefinitionTemplate30EClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate30_JDirectionIncrement() {
		return (EAttribute)gridDefinitionTemplate30EClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate30_ScanningMode() {
		return (EAttribute)gridDefinitionTemplate30EClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate30_ListOfNumberOfPointsOffset() {
		return (EAttribute)gridDefinitionTemplate30EClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate31() {
		return gridDefinitionTemplate31EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31_LatitudeOfSouthernPoleOfProjection() {
		return (EAttribute)gridDefinitionTemplate31EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31_LongitudeOfSouthernPoleOfProjection() {
		return (EAttribute)gridDefinitionTemplate31EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31_AngleOfRotationOfProjection() {
		return (EAttribute)gridDefinitionTemplate31EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate32() {
		return gridDefinitionTemplate32EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate32_LatitudeOfThePoleOfStretching() {
		return (EAttribute)gridDefinitionTemplate32EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate32_LongitudeOfThePoleOfStretching() {
		return (EAttribute)gridDefinitionTemplate32EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate32_StretchingFactor() {
		return (EAttribute)gridDefinitionTemplate32EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate33() {
		return gridDefinitionTemplate33EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate33_LatitudeOfSouthernPoleOfProjection() {
		return (EAttribute)gridDefinitionTemplate33EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate33_LongitudeOfSouthernPoleOfProjection() {
		return (EAttribute)gridDefinitionTemplate33EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate33_AngleOfRotationOfProjection() {
		return (EAttribute)gridDefinitionTemplate33EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate33_LatitudeOfThePoleOfStretching() {
		return (EAttribute)gridDefinitionTemplate33EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate33_LongitudeOfThePoleOfStretching() {
		return (EAttribute)gridDefinitionTemplate33EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate33_StretchingFactor() {
		return (EAttribute)gridDefinitionTemplate33EClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate34() {
		return gridDefinitionTemplate34EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate34_NumberOfPointsAlongAParallel() {
		return (EAttribute)gridDefinitionTemplate34EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate34_NumberOfPointsAlongAMeridian() {
		return (EAttribute)gridDefinitionTemplate34EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate34_BasicAngleOfTheInitialProductionDomain() {
		return (EAttribute)gridDefinitionTemplate34EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate34_SubdivisionsOfBasicAngle() {
		return (EAttribute)gridDefinitionTemplate34EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate34_ResolutionAndComponentFlags() {
		return (EAttribute)gridDefinitionTemplate34EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate34_ScanningMode() {
		return (EAttribute)gridDefinitionTemplate34EClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate34_ListOfLongitudeOffset() {
		return (EAttribute)gridDefinitionTemplate34EClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate34_ListOfLatitudeOffset() {
		return (EAttribute)gridDefinitionTemplate34EClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate35() {
		return gridDefinitionTemplate35EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate35_LatitudeOfSouthernPoleOfProjection() {
		return (EAttribute)gridDefinitionTemplate35EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate35_LongitudeOfSouthernPoleOfProjection() {
		return (EAttribute)gridDefinitionTemplate35EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate35_AngleOfRotationOfProjection() {
		return (EAttribute)gridDefinitionTemplate35EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate310() {
		return gridDefinitionTemplate310EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate310_NumberOfPointsAlongAParallel() {
		return (EAttribute)gridDefinitionTemplate310EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate310_NumberOfPointsAlongAMeridian() {
		return (EAttribute)gridDefinitionTemplate310EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate310_LatitudeOfFirstGridPoint() {
		return (EAttribute)gridDefinitionTemplate310EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate310_LongitudeOfFirstGridPoint() {
		return (EAttribute)gridDefinitionTemplate310EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate310_ResolutionAndComponentFlags() {
		return (EAttribute)gridDefinitionTemplate310EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate310_LatitudeOfMercatorProjectionIntersectionWithEarth() {
		return (EAttribute)gridDefinitionTemplate310EClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate310_LatitudeOfLastGridPoint() {
		return (EAttribute)gridDefinitionTemplate310EClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate310_LongitudeOfLastGridPoint() {
		return (EAttribute)gridDefinitionTemplate310EClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate310_ScanningMode() {
		return (EAttribute)gridDefinitionTemplate310EClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate310_OrientationOfTheGrid() {
		return (EAttribute)gridDefinitionTemplate310EClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate310_LongitudinalDirectionGridLength() {
		return (EAttribute)gridDefinitionTemplate310EClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate310_LatitudinalDirectionGridLength() {
		return (EAttribute)gridDefinitionTemplate310EClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate310_ListOfNumberOfPointsOffset() {
		return (EAttribute)gridDefinitionTemplate310EClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate312() {
		return gridDefinitionTemplate312EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate312_NumberOfPointsAlongAParallel() {
		return (EAttribute)gridDefinitionTemplate312EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate312_NumberOfPointsAlongAMeridian() {
		return (EAttribute)gridDefinitionTemplate312EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate312_GeographicLatitudeOfReferencePoint() {
		return (EAttribute)gridDefinitionTemplate312EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate312_GeographicLongitudeOfReferencePoint() {
		return (EAttribute)gridDefinitionTemplate312EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate312_ResolutionAndComponentFlags() {
		return (EAttribute)gridDefinitionTemplate312EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate312_ScaleFactorAtReferencePoint() {
		return (EAttribute)gridDefinitionTemplate312EClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate312_IDirectionCoordinateOfReferencePoint() {
		return (EAttribute)gridDefinitionTemplate312EClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate312_JDirectionCoordinateOfReferencePoint() {
		return (EAttribute)gridDefinitionTemplate312EClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate312_ScanningMode() {
		return (EAttribute)gridDefinitionTemplate312EClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate312_IDirectionIncrementLength() {
		return (EAttribute)gridDefinitionTemplate312EClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate312_JDirectionIncrementLength() {
		return (EAttribute)gridDefinitionTemplate312EClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate312_IDirectionCoordinateOfTheFirstGridPoint() {
		return (EAttribute)gridDefinitionTemplate312EClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate312_JDirectionCoordinateOfTheFirstGridPoint() {
		return (EAttribute)gridDefinitionTemplate312EClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate312_IDirectionCoordinateOfTheLastGridPoint() {
		return (EAttribute)gridDefinitionTemplate312EClass.getEStructuralFeatures().get(13);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate312_JDirectionCoordinateOfTheLastGridPoint() {
		return (EAttribute)gridDefinitionTemplate312EClass.getEStructuralFeatures().get(14);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate320() {
		return gridDefinitionTemplate320EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate320_NumberOfPointsAlongXAxis() {
		return (EAttribute)gridDefinitionTemplate320EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate320_NumberOfPointsAlongYAxis() {
		return (EAttribute)gridDefinitionTemplate320EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate320_LatitudeOfFirstGridPoint() {
		return (EAttribute)gridDefinitionTemplate320EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate320_LongitudeOfFirstGridPoint() {
		return (EAttribute)gridDefinitionTemplate320EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate320_ResolutionAndComponentFlags() {
		return (EAttribute)gridDefinitionTemplate320EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate320_LatitudeWhereDxAndDyAreSpecified() {
		return (EAttribute)gridDefinitionTemplate320EClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate320_OrientationOfTheGrid() {
		return (EAttribute)gridDefinitionTemplate320EClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate320_XDirectionGridLength() {
		return (EAttribute)gridDefinitionTemplate320EClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate320_YDirectionGridLength() {
		return (EAttribute)gridDefinitionTemplate320EClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate320_ProjectionCentreFlag() {
		return (EAttribute)gridDefinitionTemplate320EClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate320_ScanningMode() {
		return (EAttribute)gridDefinitionTemplate320EClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate330() {
		return gridDefinitionTemplate330EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate330_NumberOfPointsAlongXAxis() {
		return (EAttribute)gridDefinitionTemplate330EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate330_NumberOfPointsAlongYAxis() {
		return (EAttribute)gridDefinitionTemplate330EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate330_LatitudeOfFirstGridPoint() {
		return (EAttribute)gridDefinitionTemplate330EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate330_LongitudeOfFirstGridPoint() {
		return (EAttribute)gridDefinitionTemplate330EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate330_ResolutionAndComponentFlags() {
		return (EAttribute)gridDefinitionTemplate330EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate330_LatitudeWhereDxAndDyAreSpecified() {
		return (EAttribute)gridDefinitionTemplate330EClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate330_LongitudeOfMeridianParallelToYAxis() {
		return (EAttribute)gridDefinitionTemplate330EClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate330_XDirectionGridLength() {
		return (EAttribute)gridDefinitionTemplate330EClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate330_YDirectionGridLength() {
		return (EAttribute)gridDefinitionTemplate330EClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate330_ProjectionCentreFlag() {
		return (EAttribute)gridDefinitionTemplate330EClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate330_ScanningMode() {
		return (EAttribute)gridDefinitionTemplate330EClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate330_Latin1() {
		return (EAttribute)gridDefinitionTemplate330EClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate330_Latin2() {
		return (EAttribute)gridDefinitionTemplate330EClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate330_LatitudeOfSouthernPoleOfProjection() {
		return (EAttribute)gridDefinitionTemplate330EClass.getEStructuralFeatures().get(13);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate330_LongitudeOfSouthernPoleOfProjection() {
		return (EAttribute)gridDefinitionTemplate330EClass.getEStructuralFeatures().get(14);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate331() {
		return gridDefinitionTemplate331EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate331_NumberOfPointsAlongXAxis() {
		return (EAttribute)gridDefinitionTemplate331EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate331_NumberOfPointsAlongYAxis() {
		return (EAttribute)gridDefinitionTemplate331EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate331_LatitudeOfFirstGridPoint() {
		return (EAttribute)gridDefinitionTemplate331EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate331_LongitudeOfFirstGridPoint() {
		return (EAttribute)gridDefinitionTemplate331EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate331_ResolutionAndComponentFlags() {
		return (EAttribute)gridDefinitionTemplate331EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate331_LatitudeWhereDxAndDyAreSpecified() {
		return (EAttribute)gridDefinitionTemplate331EClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate331_LongitudeOfMeridianParallelToYAxis() {
		return (EAttribute)gridDefinitionTemplate331EClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate331_XDirectionGridLength() {
		return (EAttribute)gridDefinitionTemplate331EClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate331_YDirectionGridLength() {
		return (EAttribute)gridDefinitionTemplate331EClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate331_ProjectionCentreFlag() {
		return (EAttribute)gridDefinitionTemplate331EClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate331_ScanningMode() {
		return (EAttribute)gridDefinitionTemplate331EClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate331_Latin1() {
		return (EAttribute)gridDefinitionTemplate331EClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate331_Latin2() {
		return (EAttribute)gridDefinitionTemplate331EClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate331_LatitudeOfSouthernPoleOfProjection() {
		return (EAttribute)gridDefinitionTemplate331EClass.getEStructuralFeatures().get(13);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate331_LongitudeOfSouthernPoleOfProjection() {
		return (EAttribute)gridDefinitionTemplate331EClass.getEStructuralFeatures().get(14);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate340() {
		return gridDefinitionTemplate340EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate340_NumberOfPointsAlongAParallel() {
		return (EAttribute)gridDefinitionTemplate340EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate340_NumberOfPointsAlongAMeridian() {
		return (EAttribute)gridDefinitionTemplate340EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate340_BasicAngleOfTheInitialProductionDomain() {
		return (EAttribute)gridDefinitionTemplate340EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate340_SubdivisionsOfBasicAngle() {
		return (EAttribute)gridDefinitionTemplate340EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate340_LatitudeOfFirstGridPoint() {
		return (EAttribute)gridDefinitionTemplate340EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate340_LongitudeOfFirstGridPoint() {
		return (EAttribute)gridDefinitionTemplate340EClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate340_ResolutionAndComponentFlags() {
		return (EAttribute)gridDefinitionTemplate340EClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate340_LatitudeOfLastGridPoint() {
		return (EAttribute)gridDefinitionTemplate340EClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate340_LongitudeOfLastGridPoint() {
		return (EAttribute)gridDefinitionTemplate340EClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate340_IDirectionIncrement() {
		return (EAttribute)gridDefinitionTemplate340EClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate340_NumberOfParallelsBetweenAPoleAndTheEquator() {
		return (EAttribute)gridDefinitionTemplate340EClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate340_ScanningMode() {
		return (EAttribute)gridDefinitionTemplate340EClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate340_ListOfNumberOfPointsOffset() {
		return (EAttribute)gridDefinitionTemplate340EClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate341() {
		return gridDefinitionTemplate341EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate341_LatitudeOfSouthernPoleOfProjection() {
		return (EAttribute)gridDefinitionTemplate341EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate341_LongitudeOfSouthernPoleOfProjection() {
		return (EAttribute)gridDefinitionTemplate341EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate341_AngleOfRotationOfProjection() {
		return (EAttribute)gridDefinitionTemplate341EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate342() {
		return gridDefinitionTemplate342EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate342_LatitudeOfThePoleOfStretching() {
		return (EAttribute)gridDefinitionTemplate342EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate342_LongitudeOfThePoleOfStretching() {
		return (EAttribute)gridDefinitionTemplate342EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate342_StretchingFactor() {
		return (EAttribute)gridDefinitionTemplate342EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate343() {
		return gridDefinitionTemplate343EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate343_LatitudeOfSouthernPoleOfProjection() {
		return (EAttribute)gridDefinitionTemplate343EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate343_LongitudeOfSouthernPoleOfProjection() {
		return (EAttribute)gridDefinitionTemplate343EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate343_AngleOfRotationOfProjection() {
		return (EAttribute)gridDefinitionTemplate343EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate343_LatitudeOfThePoleOfStretching() {
		return (EAttribute)gridDefinitionTemplate343EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate343_LongitudeOfThePoleOfStretching() {
		return (EAttribute)gridDefinitionTemplate343EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate343_StretchingFactor() {
		return (EAttribute)gridDefinitionTemplate343EClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate350() {
		return gridDefinitionTemplate350EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate350_JPentagonalResolutionParameter() {
		return (EAttribute)gridDefinitionTemplate350EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate350_KPentagonalResolutionParameter() {
		return (EAttribute)gridDefinitionTemplate350EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate350_MPentagonalResolutionParameter() {
		return (EAttribute)gridDefinitionTemplate350EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate350_RepresentationType() {
		return (EAttribute)gridDefinitionTemplate350EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate350_RepresentationMode() {
		return (EAttribute)gridDefinitionTemplate350EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate351() {
		return gridDefinitionTemplate351EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate351_LatitudeOfSouthernPoleOfProjection() {
		return (EAttribute)gridDefinitionTemplate351EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate351_LongitudeOfSouthernPoleOfProjection() {
		return (EAttribute)gridDefinitionTemplate351EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate351_AngleOfRotationOfProjection() {
		return (EAttribute)gridDefinitionTemplate351EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate352() {
		return gridDefinitionTemplate352EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate352_LatitudeOfThePoleOfStretching() {
		return (EAttribute)gridDefinitionTemplate352EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate352_LongitudeOfThePoleOfStretching() {
		return (EAttribute)gridDefinitionTemplate352EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate352_StretchingFactor() {
		return (EAttribute)gridDefinitionTemplate352EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate353() {
		return gridDefinitionTemplate353EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate353_LatitudeOfSouthernPoleOfProjection() {
		return (EAttribute)gridDefinitionTemplate353EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate353_LongitudeOfSouthernPoleOfProjection() {
		return (EAttribute)gridDefinitionTemplate353EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate353_AngleOfRotationOfProjection() {
		return (EAttribute)gridDefinitionTemplate353EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate353_LatitudeOfThePoleOfStretching() {
		return (EAttribute)gridDefinitionTemplate353EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate353_LongitudeOfThePoleOfStretching() {
		return (EAttribute)gridDefinitionTemplate353EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate353_StretchingFactor() {
		return (EAttribute)gridDefinitionTemplate353EClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate390() {
		return gridDefinitionTemplate390EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate390_NumberOfPointsAlongXAxis() {
		return (EAttribute)gridDefinitionTemplate390EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate390_NumberOfPointsAlongYAxis() {
		return (EAttribute)gridDefinitionTemplate390EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate390_LatitudeOfSubSatellitePoint() {
		return (EAttribute)gridDefinitionTemplate390EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate390_LongitudeOfSubSatellitePoint() {
		return (EAttribute)gridDefinitionTemplate390EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate390_ResolutionAndComponentFlags() {
		return (EAttribute)gridDefinitionTemplate390EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate390_ApparentDiameterOfEarthInXDirection() {
		return (EAttribute)gridDefinitionTemplate390EClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate390_ApparentDiameterOfEarthInYDirection() {
		return (EAttribute)gridDefinitionTemplate390EClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate390_XCoordinateOfSubSatellitePoint() {
		return (EAttribute)gridDefinitionTemplate390EClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate390_YCoordinateOfSubSatellitePoint() {
		return (EAttribute)gridDefinitionTemplate390EClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate390_ScanningMode() {
		return (EAttribute)gridDefinitionTemplate390EClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate390_OrientationOfTheGrid() {
		return (EAttribute)gridDefinitionTemplate390EClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate390_AltitudeOfTheCameraFromTheEarthCentre() {
		return (EAttribute)gridDefinitionTemplate390EClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate390_XCoordinateOfOriginOfSectorImage() {
		return (EAttribute)gridDefinitionTemplate390EClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate390_YCoordinateOfOriginOfSectorImage() {
		return (EAttribute)gridDefinitionTemplate390EClass.getEStructuralFeatures().get(13);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate3100() {
		return gridDefinitionTemplate3100EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3100_ExponentOf2() {
		return (EAttribute)gridDefinitionTemplate3100EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3100_ExponentOf3() {
		return (EAttribute)gridDefinitionTemplate3100EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3100_NumberOfIntervals() {
		return (EAttribute)gridDefinitionTemplate3100EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3100_NumberOfDiamonds() {
		return (EAttribute)gridDefinitionTemplate3100EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3100_LatitudeOfThePolePoint() {
		return (EAttribute)gridDefinitionTemplate3100EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3100_LongitudeOfThePolePoint() {
		return (EAttribute)gridDefinitionTemplate3100EClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3100_LongitudeOfTheCentreLineOfTheFirstDiamond() {
		return (EAttribute)gridDefinitionTemplate3100EClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3100_GridPointPosition() {
		return (EAttribute)gridDefinitionTemplate3100EClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3100_NumberingOrderOfDiamonds() {
		return (EAttribute)gridDefinitionTemplate3100EClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3100_ScanningModeForOneDiamond() {
		return (EAttribute)gridDefinitionTemplate3100EClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3100_TotalNumberOfGridPoints() {
		return (EAttribute)gridDefinitionTemplate3100EClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate3101() {
		return gridDefinitionTemplate3101EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3101_ShapeOfTheEarth() {
		return (EAttribute)gridDefinitionTemplate3101EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3101_NumberOfGridUsed() {
		return (EAttribute)gridDefinitionTemplate3101EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3101_NumberOfGridInReference() {
		return (EAttribute)gridDefinitionTemplate3101EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3101_UniversallyUniqueIdentifierOffset() {
		return (EAttribute)gridDefinitionTemplate3101EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate3110() {
		return gridDefinitionTemplate3110EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3110_NumberOfPointsAlongXAxis() {
		return (EAttribute)gridDefinitionTemplate3110EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3110_NumberOfPointsAlongYAxis() {
		return (EAttribute)gridDefinitionTemplate3110EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3110_LatitudeOfTangencyPoint() {
		return (EAttribute)gridDefinitionTemplate3110EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3110_LongitudeOfTangencyPoint() {
		return (EAttribute)gridDefinitionTemplate3110EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3110_ResolutionAndComponentFlags() {
		return (EAttribute)gridDefinitionTemplate3110EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3110_XDirectionGridLength() {
		return (EAttribute)gridDefinitionTemplate3110EClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3110_YDirectionGridLength() {
		return (EAttribute)gridDefinitionTemplate3110EClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3110_ProjectionCentreFlag() {
		return (EAttribute)gridDefinitionTemplate3110EClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3110_ScanningMode() {
		return (EAttribute)gridDefinitionTemplate3110EClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate3120() {
		return gridDefinitionTemplate3120EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3120_NumberOfDataBinsAlongRadials() {
		return (EAttribute)gridDefinitionTemplate3120EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3120_NumberOfRadials() {
		return (EAttribute)gridDefinitionTemplate3120EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3120_LatitudeOfCentrePoint() {
		return (EAttribute)gridDefinitionTemplate3120EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3120_LongitudeOfCentrePoint() {
		return (EAttribute)gridDefinitionTemplate3120EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3120_SpacingOfBinsAlongRadials() {
		return (EAttribute)gridDefinitionTemplate3120EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3120_OffsetFromOriginToInnerBound() {
		return (EAttribute)gridDefinitionTemplate3120EClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3120_ScanningMode() {
		return (EAttribute)gridDefinitionTemplate3120EClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate3120_RadialOffset() {
		return (EAttribute)gridDefinitionTemplate3120EClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate31000() {
		return gridDefinitionTemplate31000EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31000_NumberOfHorizontalPoints() {
		return (EAttribute)gridDefinitionTemplate31000EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31000_BasicAngleOfTheInitialProductionDomain() {
		return (EAttribute)gridDefinitionTemplate31000EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31000_SubdivisionsOfBasicAngle() {
		return (EAttribute)gridDefinitionTemplate31000EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31000_LatitudeOfFirstGridPoint() {
		return (EAttribute)gridDefinitionTemplate31000EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31000_LongitudeOfFirstGridPoint() {
		return (EAttribute)gridDefinitionTemplate31000EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31000_ScanningMode() {
		return (EAttribute)gridDefinitionTemplate31000EClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31000_LatitudeOfLastGridPoint() {
		return (EAttribute)gridDefinitionTemplate31000EClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31000_LongitudeOfLastGridPoint() {
		return (EAttribute)gridDefinitionTemplate31000EClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31000_TypeOfHorizontalLine() {
		return (EAttribute)gridDefinitionTemplate31000EClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31000_NumberOfVerticalPoints() {
		return (EAttribute)gridDefinitionTemplate31000EClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31000_PhysicalMeaningOfVerticalCoordinate() {
		return (EAttribute)gridDefinitionTemplate31000EClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31000_VerticalDimensionCoordinateValuesDefinition() {
		return (EAttribute)gridDefinitionTemplate31000EClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31000_NumberOfCoefficients() {
		return (EAttribute)gridDefinitionTemplate31000EClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31000_CoefficientsOffset() {
		return (EAttribute)gridDefinitionTemplate31000EClass.getEStructuralFeatures().get(13);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate31100() {
		return gridDefinitionTemplate31100EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_NumberOfHorizontalPoints() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_BasicAngleOfTheInitialProductionDomain() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_SubdivisionsOfBasicAngle() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_LatitudeOfFirstGridPoint() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_LongitudeOfFirstGridPoint() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_ScanningMode() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_LatitudeOfLastGridPoint() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_LongitudeOfLastGridPoint() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_TypeOfHorizontalLine() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_NumberOfTimeSteps() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_UnitOfOffsetFromReferenceTime() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_OffsetFromReferenceOfFirstTime() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_TypeOfTimeIncrement() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_UnitOfTimeIncrement() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(13);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_TimeIncrement() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(14);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_Year() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(15);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_Month() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(16);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_Day() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(17);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_Hour() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(18);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_Minute() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(19);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31100_Second() {
		return (EAttribute)gridDefinitionTemplate31100EClass.getEStructuralFeatures().get(20);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getGridDefinitionTemplate31200() {
		return gridDefinitionTemplate31200EClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31200_NumberOfTimeSteps() {
		return (EAttribute)gridDefinitionTemplate31200EClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31200_UnitOfOffsetFromReferenceTime() {
		return (EAttribute)gridDefinitionTemplate31200EClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31200_OffsetFromReferenceOfFirstTime() {
		return (EAttribute)gridDefinitionTemplate31200EClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31200_TypeOfTimeIncrement() {
		return (EAttribute)gridDefinitionTemplate31200EClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31200_UnitOfTimeIncrement() {
		return (EAttribute)gridDefinitionTemplate31200EClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31200_TimeIncrement() {
		return (EAttribute)gridDefinitionTemplate31200EClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31200_Year() {
		return (EAttribute)gridDefinitionTemplate31200EClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31200_Month() {
		return (EAttribute)gridDefinitionTemplate31200EClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31200_Day() {
		return (EAttribute)gridDefinitionTemplate31200EClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31200_Hour() {
		return (EAttribute)gridDefinitionTemplate31200EClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31200_Minute() {
		return (EAttribute)gridDefinitionTemplate31200EClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31200_Second() {
		return (EAttribute)gridDefinitionTemplate31200EClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31200_NumberOfVerticalPoints() {
		return (EAttribute)gridDefinitionTemplate31200EClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31200_PhysicalMeaningOfVerticalCoordinate() {
		return (EAttribute)gridDefinitionTemplate31200EClass.getEStructuralFeatures().get(13);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31200_VerticalDimensionCoordinateValuesDefinition() {
		return (EAttribute)gridDefinitionTemplate31200EClass.getEStructuralFeatures().get(14);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31200_NumberOfCoefficients() {
		return (EAttribute)gridDefinitionTemplate31200EClass.getEStructuralFeatures().get(15);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getGridDefinitionTemplate31200_CoefficientsOffset() {
		return (EAttribute)gridDefinitionTemplate31200EClass.getEStructuralFeatures().get(16);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getGridDefinitionTemplateNumber() {
		return gridDefinitionTemplateNumberEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getSourceOfGridDefinition() {
		return sourceOfGridDefinitionEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getShapeOfTheEarth() {
		return shapeOfTheEarthEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getGridPointPosition() {
		return gridPointPositionEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getInterpretationOfListOfNumbersAtEndOfSection3() {
		return interpretationOfListOfNumbersAtEndOfSection3EEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getPhysicalMeaningOfVerticalCoordinate() {
		return physicalMeaningOfVerticalCoordinateEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getTypeOfHorizontalLine() {
		return typeOfHorizontalLineEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getVerticalDimensionCoordinateValuesDefinition() {
		return verticalDimensionCoordinateValuesDefinitionEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getResolutionAndComponentFlags() {
		return resolutionAndComponentFlagsEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getScanningMode() {
		return scanningModeEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getProjectionCentre() {
		return projectionCentreEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getSpectralDataRepresentationType() {
		return spectralDataRepresentationTypeEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getSpectralDataRepresentationMode() {
		return spectralDataRepresentationModeEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getNumberingOrderOfDiamondsAsSeenFromTheCorrespondingPole() {
		return numberingOrderOfDiamondsAsSeenFromTheCorrespondingPoleEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GridsFactory getGridsFactory() {
		return (GridsFactory)getEFactoryInstance();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private boolean isCreated = false;

	/**
	 * Creates the meta-model objects for the package.  This method is
	 * guarded to have no affect on any invocation but its first.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void createPackageContents() {
		if (isCreated) return;
		isCreated = true;

		// Create classes and their features
		iGridDefinitionEClass = createEClass(IGRID_DEFINITION);

		earthShapeGridDefinitionEClass = createEClass(EARTH_SHAPE_GRID_DEFINITION);
		createEAttribute(earthShapeGridDefinitionEClass, EARTH_SHAPE_GRID_DEFINITION__SHAPE_OF_THE_EARTH);
		createEAttribute(earthShapeGridDefinitionEClass, EARTH_SHAPE_GRID_DEFINITION__SCALE_FACTOR_OF_RADIUS_OF_SPHERICAL_EARTH);
		createEAttribute(earthShapeGridDefinitionEClass, EARTH_SHAPE_GRID_DEFINITION__SCALED_VALUE_OF_RADIUS_OF_SPHERICAL_EARTH);
		createEAttribute(earthShapeGridDefinitionEClass, EARTH_SHAPE_GRID_DEFINITION__SCALE_FACTOR_OF_MAJOR_AXIS_OF_OBLATE_SPHEROID_EARTH);
		createEAttribute(earthShapeGridDefinitionEClass, EARTH_SHAPE_GRID_DEFINITION__SCALED_VALUE_OF_MAJOR_AXIS_OF_OBLATE_SPHEROID_EARTH);
		createEAttribute(earthShapeGridDefinitionEClass, EARTH_SHAPE_GRID_DEFINITION__SCALE_FACTOR_OF_MINOR_AXIS_OF_OBLATE_SPHEROID_EARTH);
		createEAttribute(earthShapeGridDefinitionEClass, EARTH_SHAPE_GRID_DEFINITION__SCALED_VALUE_OF_MINOR_AXIS_OF_OBLATE_SPHEROID_EARTH);

		gridDefinitionTemplate30EClass = createEClass(GRID_DEFINITION_TEMPLATE30);
		createEAttribute(gridDefinitionTemplate30EClass, GRID_DEFINITION_TEMPLATE30__NUMBER_OF_POINTS_ALONG_APARALLEL);
		createEAttribute(gridDefinitionTemplate30EClass, GRID_DEFINITION_TEMPLATE30__NUMBER_OF_POINTS_ALONG_AMERIDIAN);
		createEAttribute(gridDefinitionTemplate30EClass, GRID_DEFINITION_TEMPLATE30__BASIC_ANGLE_OF_THE_INITIAL_PRODUCTION_DOMAIN);
		createEAttribute(gridDefinitionTemplate30EClass, GRID_DEFINITION_TEMPLATE30__SUBDIVISIONS_OF_BASIC_ANGLE);
		createEAttribute(gridDefinitionTemplate30EClass, GRID_DEFINITION_TEMPLATE30__LATITUDE_OF_FIRST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate30EClass, GRID_DEFINITION_TEMPLATE30__LONGITUDE_OF_FIRST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate30EClass, GRID_DEFINITION_TEMPLATE30__RESOLUTION_AND_COMPONENT_FLAGS);
		createEAttribute(gridDefinitionTemplate30EClass, GRID_DEFINITION_TEMPLATE30__LATITUDE_OF_LAST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate30EClass, GRID_DEFINITION_TEMPLATE30__LONGITUDE_OF_LAST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate30EClass, GRID_DEFINITION_TEMPLATE30__IDIRECTION_INCREMENT);
		createEAttribute(gridDefinitionTemplate30EClass, GRID_DEFINITION_TEMPLATE30__JDIRECTION_INCREMENT);
		createEAttribute(gridDefinitionTemplate30EClass, GRID_DEFINITION_TEMPLATE30__SCANNING_MODE);
		createEAttribute(gridDefinitionTemplate30EClass, GRID_DEFINITION_TEMPLATE30__LIST_OF_NUMBER_OF_POINTS_OFFSET);

		gridDefinitionTemplate31EClass = createEClass(GRID_DEFINITION_TEMPLATE31);
		createEAttribute(gridDefinitionTemplate31EClass, GRID_DEFINITION_TEMPLATE31__LATITUDE_OF_SOUTHERN_POLE_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate31EClass, GRID_DEFINITION_TEMPLATE31__LONGITUDE_OF_SOUTHERN_POLE_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate31EClass, GRID_DEFINITION_TEMPLATE31__ANGLE_OF_ROTATION_OF_PROJECTION);

		gridDefinitionTemplate32EClass = createEClass(GRID_DEFINITION_TEMPLATE32);
		createEAttribute(gridDefinitionTemplate32EClass, GRID_DEFINITION_TEMPLATE32__LATITUDE_OF_THE_POLE_OF_STRETCHING);
		createEAttribute(gridDefinitionTemplate32EClass, GRID_DEFINITION_TEMPLATE32__LONGITUDE_OF_THE_POLE_OF_STRETCHING);
		createEAttribute(gridDefinitionTemplate32EClass, GRID_DEFINITION_TEMPLATE32__STRETCHING_FACTOR);

		gridDefinitionTemplate33EClass = createEClass(GRID_DEFINITION_TEMPLATE33);
		createEAttribute(gridDefinitionTemplate33EClass, GRID_DEFINITION_TEMPLATE33__LATITUDE_OF_SOUTHERN_POLE_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate33EClass, GRID_DEFINITION_TEMPLATE33__LONGITUDE_OF_SOUTHERN_POLE_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate33EClass, GRID_DEFINITION_TEMPLATE33__ANGLE_OF_ROTATION_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate33EClass, GRID_DEFINITION_TEMPLATE33__LATITUDE_OF_THE_POLE_OF_STRETCHING);
		createEAttribute(gridDefinitionTemplate33EClass, GRID_DEFINITION_TEMPLATE33__LONGITUDE_OF_THE_POLE_OF_STRETCHING);
		createEAttribute(gridDefinitionTemplate33EClass, GRID_DEFINITION_TEMPLATE33__STRETCHING_FACTOR);

		gridDefinitionTemplate34EClass = createEClass(GRID_DEFINITION_TEMPLATE34);
		createEAttribute(gridDefinitionTemplate34EClass, GRID_DEFINITION_TEMPLATE34__NUMBER_OF_POINTS_ALONG_APARALLEL);
		createEAttribute(gridDefinitionTemplate34EClass, GRID_DEFINITION_TEMPLATE34__NUMBER_OF_POINTS_ALONG_AMERIDIAN);
		createEAttribute(gridDefinitionTemplate34EClass, GRID_DEFINITION_TEMPLATE34__BASIC_ANGLE_OF_THE_INITIAL_PRODUCTION_DOMAIN);
		createEAttribute(gridDefinitionTemplate34EClass, GRID_DEFINITION_TEMPLATE34__SUBDIVISIONS_OF_BASIC_ANGLE);
		createEAttribute(gridDefinitionTemplate34EClass, GRID_DEFINITION_TEMPLATE34__RESOLUTION_AND_COMPONENT_FLAGS);
		createEAttribute(gridDefinitionTemplate34EClass, GRID_DEFINITION_TEMPLATE34__SCANNING_MODE);
		createEAttribute(gridDefinitionTemplate34EClass, GRID_DEFINITION_TEMPLATE34__LIST_OF_LONGITUDE_OFFSET);
		createEAttribute(gridDefinitionTemplate34EClass, GRID_DEFINITION_TEMPLATE34__LIST_OF_LATITUDE_OFFSET);

		gridDefinitionTemplate35EClass = createEClass(GRID_DEFINITION_TEMPLATE35);
		createEAttribute(gridDefinitionTemplate35EClass, GRID_DEFINITION_TEMPLATE35__LATITUDE_OF_SOUTHERN_POLE_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate35EClass, GRID_DEFINITION_TEMPLATE35__LONGITUDE_OF_SOUTHERN_POLE_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate35EClass, GRID_DEFINITION_TEMPLATE35__ANGLE_OF_ROTATION_OF_PROJECTION);

		gridDefinitionTemplate310EClass = createEClass(GRID_DEFINITION_TEMPLATE310);
		createEAttribute(gridDefinitionTemplate310EClass, GRID_DEFINITION_TEMPLATE310__NUMBER_OF_POINTS_ALONG_APARALLEL);
		createEAttribute(gridDefinitionTemplate310EClass, GRID_DEFINITION_TEMPLATE310__NUMBER_OF_POINTS_ALONG_AMERIDIAN);
		createEAttribute(gridDefinitionTemplate310EClass, GRID_DEFINITION_TEMPLATE310__LATITUDE_OF_FIRST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate310EClass, GRID_DEFINITION_TEMPLATE310__LONGITUDE_OF_FIRST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate310EClass, GRID_DEFINITION_TEMPLATE310__RESOLUTION_AND_COMPONENT_FLAGS);
		createEAttribute(gridDefinitionTemplate310EClass, GRID_DEFINITION_TEMPLATE310__LATITUDE_OF_MERCATOR_PROJECTION_INTERSECTION_WITH_EARTH);
		createEAttribute(gridDefinitionTemplate310EClass, GRID_DEFINITION_TEMPLATE310__LATITUDE_OF_LAST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate310EClass, GRID_DEFINITION_TEMPLATE310__LONGITUDE_OF_LAST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate310EClass, GRID_DEFINITION_TEMPLATE310__SCANNING_MODE);
		createEAttribute(gridDefinitionTemplate310EClass, GRID_DEFINITION_TEMPLATE310__ORIENTATION_OF_THE_GRID);
		createEAttribute(gridDefinitionTemplate310EClass, GRID_DEFINITION_TEMPLATE310__LONGITUDINAL_DIRECTION_GRID_LENGTH);
		createEAttribute(gridDefinitionTemplate310EClass, GRID_DEFINITION_TEMPLATE310__LATITUDINAL_DIRECTION_GRID_LENGTH);
		createEAttribute(gridDefinitionTemplate310EClass, GRID_DEFINITION_TEMPLATE310__LIST_OF_NUMBER_OF_POINTS_OFFSET);

		gridDefinitionTemplate312EClass = createEClass(GRID_DEFINITION_TEMPLATE312);
		createEAttribute(gridDefinitionTemplate312EClass, GRID_DEFINITION_TEMPLATE312__NUMBER_OF_POINTS_ALONG_APARALLEL);
		createEAttribute(gridDefinitionTemplate312EClass, GRID_DEFINITION_TEMPLATE312__NUMBER_OF_POINTS_ALONG_AMERIDIAN);
		createEAttribute(gridDefinitionTemplate312EClass, GRID_DEFINITION_TEMPLATE312__GEOGRAPHIC_LATITUDE_OF_REFERENCE_POINT);
		createEAttribute(gridDefinitionTemplate312EClass, GRID_DEFINITION_TEMPLATE312__GEOGRAPHIC_LONGITUDE_OF_REFERENCE_POINT);
		createEAttribute(gridDefinitionTemplate312EClass, GRID_DEFINITION_TEMPLATE312__RESOLUTION_AND_COMPONENT_FLAGS);
		createEAttribute(gridDefinitionTemplate312EClass, GRID_DEFINITION_TEMPLATE312__SCALE_FACTOR_AT_REFERENCE_POINT);
		createEAttribute(gridDefinitionTemplate312EClass, GRID_DEFINITION_TEMPLATE312__IDIRECTION_COORDINATE_OF_REFERENCE_POINT);
		createEAttribute(gridDefinitionTemplate312EClass, GRID_DEFINITION_TEMPLATE312__JDIRECTION_COORDINATE_OF_REFERENCE_POINT);
		createEAttribute(gridDefinitionTemplate312EClass, GRID_DEFINITION_TEMPLATE312__SCANNING_MODE);
		createEAttribute(gridDefinitionTemplate312EClass, GRID_DEFINITION_TEMPLATE312__IDIRECTION_INCREMENT_LENGTH);
		createEAttribute(gridDefinitionTemplate312EClass, GRID_DEFINITION_TEMPLATE312__JDIRECTION_INCREMENT_LENGTH);
		createEAttribute(gridDefinitionTemplate312EClass, GRID_DEFINITION_TEMPLATE312__IDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate312EClass, GRID_DEFINITION_TEMPLATE312__JDIRECTION_COORDINATE_OF_THE_FIRST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate312EClass, GRID_DEFINITION_TEMPLATE312__IDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate312EClass, GRID_DEFINITION_TEMPLATE312__JDIRECTION_COORDINATE_OF_THE_LAST_GRID_POINT);

		gridDefinitionTemplate320EClass = createEClass(GRID_DEFINITION_TEMPLATE320);
		createEAttribute(gridDefinitionTemplate320EClass, GRID_DEFINITION_TEMPLATE320__NUMBER_OF_POINTS_ALONG_XAXIS);
		createEAttribute(gridDefinitionTemplate320EClass, GRID_DEFINITION_TEMPLATE320__NUMBER_OF_POINTS_ALONG_YAXIS);
		createEAttribute(gridDefinitionTemplate320EClass, GRID_DEFINITION_TEMPLATE320__LATITUDE_OF_FIRST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate320EClass, GRID_DEFINITION_TEMPLATE320__LONGITUDE_OF_FIRST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate320EClass, GRID_DEFINITION_TEMPLATE320__RESOLUTION_AND_COMPONENT_FLAGS);
		createEAttribute(gridDefinitionTemplate320EClass, GRID_DEFINITION_TEMPLATE320__LATITUDE_WHERE_DX_AND_DY_ARE_SPECIFIED);
		createEAttribute(gridDefinitionTemplate320EClass, GRID_DEFINITION_TEMPLATE320__ORIENTATION_OF_THE_GRID);
		createEAttribute(gridDefinitionTemplate320EClass, GRID_DEFINITION_TEMPLATE320__XDIRECTION_GRID_LENGTH);
		createEAttribute(gridDefinitionTemplate320EClass, GRID_DEFINITION_TEMPLATE320__YDIRECTION_GRID_LENGTH);
		createEAttribute(gridDefinitionTemplate320EClass, GRID_DEFINITION_TEMPLATE320__PROJECTION_CENTRE_FLAG);
		createEAttribute(gridDefinitionTemplate320EClass, GRID_DEFINITION_TEMPLATE320__SCANNING_MODE);

		gridDefinitionTemplate330EClass = createEClass(GRID_DEFINITION_TEMPLATE330);
		createEAttribute(gridDefinitionTemplate330EClass, GRID_DEFINITION_TEMPLATE330__NUMBER_OF_POINTS_ALONG_XAXIS);
		createEAttribute(gridDefinitionTemplate330EClass, GRID_DEFINITION_TEMPLATE330__NUMBER_OF_POINTS_ALONG_YAXIS);
		createEAttribute(gridDefinitionTemplate330EClass, GRID_DEFINITION_TEMPLATE330__LATITUDE_OF_FIRST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate330EClass, GRID_DEFINITION_TEMPLATE330__LONGITUDE_OF_FIRST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate330EClass, GRID_DEFINITION_TEMPLATE330__RESOLUTION_AND_COMPONENT_FLAGS);
		createEAttribute(gridDefinitionTemplate330EClass, GRID_DEFINITION_TEMPLATE330__LATITUDE_WHERE_DX_AND_DY_ARE_SPECIFIED);
		createEAttribute(gridDefinitionTemplate330EClass, GRID_DEFINITION_TEMPLATE330__LONGITUDE_OF_MERIDIAN_PARALLEL_TO_YAXIS);
		createEAttribute(gridDefinitionTemplate330EClass, GRID_DEFINITION_TEMPLATE330__XDIRECTION_GRID_LENGTH);
		createEAttribute(gridDefinitionTemplate330EClass, GRID_DEFINITION_TEMPLATE330__YDIRECTION_GRID_LENGTH);
		createEAttribute(gridDefinitionTemplate330EClass, GRID_DEFINITION_TEMPLATE330__PROJECTION_CENTRE_FLAG);
		createEAttribute(gridDefinitionTemplate330EClass, GRID_DEFINITION_TEMPLATE330__SCANNING_MODE);
		createEAttribute(gridDefinitionTemplate330EClass, GRID_DEFINITION_TEMPLATE330__LATIN1);
		createEAttribute(gridDefinitionTemplate330EClass, GRID_DEFINITION_TEMPLATE330__LATIN2);
		createEAttribute(gridDefinitionTemplate330EClass, GRID_DEFINITION_TEMPLATE330__LATITUDE_OF_SOUTHERN_POLE_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate330EClass, GRID_DEFINITION_TEMPLATE330__LONGITUDE_OF_SOUTHERN_POLE_OF_PROJECTION);

		gridDefinitionTemplate331EClass = createEClass(GRID_DEFINITION_TEMPLATE331);
		createEAttribute(gridDefinitionTemplate331EClass, GRID_DEFINITION_TEMPLATE331__NUMBER_OF_POINTS_ALONG_XAXIS);
		createEAttribute(gridDefinitionTemplate331EClass, GRID_DEFINITION_TEMPLATE331__NUMBER_OF_POINTS_ALONG_YAXIS);
		createEAttribute(gridDefinitionTemplate331EClass, GRID_DEFINITION_TEMPLATE331__LATITUDE_OF_FIRST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate331EClass, GRID_DEFINITION_TEMPLATE331__LONGITUDE_OF_FIRST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate331EClass, GRID_DEFINITION_TEMPLATE331__RESOLUTION_AND_COMPONENT_FLAGS);
		createEAttribute(gridDefinitionTemplate331EClass, GRID_DEFINITION_TEMPLATE331__LATITUDE_WHERE_DX_AND_DY_ARE_SPECIFIED);
		createEAttribute(gridDefinitionTemplate331EClass, GRID_DEFINITION_TEMPLATE331__LONGITUDE_OF_MERIDIAN_PARALLEL_TO_YAXIS);
		createEAttribute(gridDefinitionTemplate331EClass, GRID_DEFINITION_TEMPLATE331__XDIRECTION_GRID_LENGTH);
		createEAttribute(gridDefinitionTemplate331EClass, GRID_DEFINITION_TEMPLATE331__YDIRECTION_GRID_LENGTH);
		createEAttribute(gridDefinitionTemplate331EClass, GRID_DEFINITION_TEMPLATE331__PROJECTION_CENTRE_FLAG);
		createEAttribute(gridDefinitionTemplate331EClass, GRID_DEFINITION_TEMPLATE331__SCANNING_MODE);
		createEAttribute(gridDefinitionTemplate331EClass, GRID_DEFINITION_TEMPLATE331__LATIN1);
		createEAttribute(gridDefinitionTemplate331EClass, GRID_DEFINITION_TEMPLATE331__LATIN2);
		createEAttribute(gridDefinitionTemplate331EClass, GRID_DEFINITION_TEMPLATE331__LATITUDE_OF_SOUTHERN_POLE_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate331EClass, GRID_DEFINITION_TEMPLATE331__LONGITUDE_OF_SOUTHERN_POLE_OF_PROJECTION);

		gridDefinitionTemplate340EClass = createEClass(GRID_DEFINITION_TEMPLATE340);
		createEAttribute(gridDefinitionTemplate340EClass, GRID_DEFINITION_TEMPLATE340__NUMBER_OF_POINTS_ALONG_APARALLEL);
		createEAttribute(gridDefinitionTemplate340EClass, GRID_DEFINITION_TEMPLATE340__NUMBER_OF_POINTS_ALONG_AMERIDIAN);
		createEAttribute(gridDefinitionTemplate340EClass, GRID_DEFINITION_TEMPLATE340__BASIC_ANGLE_OF_THE_INITIAL_PRODUCTION_DOMAIN);
		createEAttribute(gridDefinitionTemplate340EClass, GRID_DEFINITION_TEMPLATE340__SUBDIVISIONS_OF_BASIC_ANGLE);
		createEAttribute(gridDefinitionTemplate340EClass, GRID_DEFINITION_TEMPLATE340__LATITUDE_OF_FIRST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate340EClass, GRID_DEFINITION_TEMPLATE340__LONGITUDE_OF_FIRST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate340EClass, GRID_DEFINITION_TEMPLATE340__RESOLUTION_AND_COMPONENT_FLAGS);
		createEAttribute(gridDefinitionTemplate340EClass, GRID_DEFINITION_TEMPLATE340__LATITUDE_OF_LAST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate340EClass, GRID_DEFINITION_TEMPLATE340__LONGITUDE_OF_LAST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate340EClass, GRID_DEFINITION_TEMPLATE340__IDIRECTION_INCREMENT);
		createEAttribute(gridDefinitionTemplate340EClass, GRID_DEFINITION_TEMPLATE340__NUMBER_OF_PARALLELS_BETWEEN_APOLE_AND_THE_EQUATOR);
		createEAttribute(gridDefinitionTemplate340EClass, GRID_DEFINITION_TEMPLATE340__SCANNING_MODE);
		createEAttribute(gridDefinitionTemplate340EClass, GRID_DEFINITION_TEMPLATE340__LIST_OF_NUMBER_OF_POINTS_OFFSET);

		gridDefinitionTemplate341EClass = createEClass(GRID_DEFINITION_TEMPLATE341);
		createEAttribute(gridDefinitionTemplate341EClass, GRID_DEFINITION_TEMPLATE341__LATITUDE_OF_SOUTHERN_POLE_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate341EClass, GRID_DEFINITION_TEMPLATE341__LONGITUDE_OF_SOUTHERN_POLE_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate341EClass, GRID_DEFINITION_TEMPLATE341__ANGLE_OF_ROTATION_OF_PROJECTION);

		gridDefinitionTemplate342EClass = createEClass(GRID_DEFINITION_TEMPLATE342);
		createEAttribute(gridDefinitionTemplate342EClass, GRID_DEFINITION_TEMPLATE342__LATITUDE_OF_THE_POLE_OF_STRETCHING);
		createEAttribute(gridDefinitionTemplate342EClass, GRID_DEFINITION_TEMPLATE342__LONGITUDE_OF_THE_POLE_OF_STRETCHING);
		createEAttribute(gridDefinitionTemplate342EClass, GRID_DEFINITION_TEMPLATE342__STRETCHING_FACTOR);

		gridDefinitionTemplate343EClass = createEClass(GRID_DEFINITION_TEMPLATE343);
		createEAttribute(gridDefinitionTemplate343EClass, GRID_DEFINITION_TEMPLATE343__LATITUDE_OF_SOUTHERN_POLE_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate343EClass, GRID_DEFINITION_TEMPLATE343__LONGITUDE_OF_SOUTHERN_POLE_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate343EClass, GRID_DEFINITION_TEMPLATE343__ANGLE_OF_ROTATION_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate343EClass, GRID_DEFINITION_TEMPLATE343__LATITUDE_OF_THE_POLE_OF_STRETCHING);
		createEAttribute(gridDefinitionTemplate343EClass, GRID_DEFINITION_TEMPLATE343__LONGITUDE_OF_THE_POLE_OF_STRETCHING);
		createEAttribute(gridDefinitionTemplate343EClass, GRID_DEFINITION_TEMPLATE343__STRETCHING_FACTOR);

		gridDefinitionTemplate350EClass = createEClass(GRID_DEFINITION_TEMPLATE350);
		createEAttribute(gridDefinitionTemplate350EClass, GRID_DEFINITION_TEMPLATE350__JPENTAGONAL_RESOLUTION_PARAMETER);
		createEAttribute(gridDefinitionTemplate350EClass, GRID_DEFINITION_TEMPLATE350__KPENTAGONAL_RESOLUTION_PARAMETER);
		createEAttribute(gridDefinitionTemplate350EClass, GRID_DEFINITION_TEMPLATE350__MPENTAGONAL_RESOLUTION_PARAMETER);
		createEAttribute(gridDefinitionTemplate350EClass, GRID_DEFINITION_TEMPLATE350__REPRESENTATION_TYPE);
		createEAttribute(gridDefinitionTemplate350EClass, GRID_DEFINITION_TEMPLATE350__REPRESENTATION_MODE);

		gridDefinitionTemplate351EClass = createEClass(GRID_DEFINITION_TEMPLATE351);
		createEAttribute(gridDefinitionTemplate351EClass, GRID_DEFINITION_TEMPLATE351__LATITUDE_OF_SOUTHERN_POLE_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate351EClass, GRID_DEFINITION_TEMPLATE351__LONGITUDE_OF_SOUTHERN_POLE_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate351EClass, GRID_DEFINITION_TEMPLATE351__ANGLE_OF_ROTATION_OF_PROJECTION);

		gridDefinitionTemplate352EClass = createEClass(GRID_DEFINITION_TEMPLATE352);
		createEAttribute(gridDefinitionTemplate352EClass, GRID_DEFINITION_TEMPLATE352__LATITUDE_OF_THE_POLE_OF_STRETCHING);
		createEAttribute(gridDefinitionTemplate352EClass, GRID_DEFINITION_TEMPLATE352__LONGITUDE_OF_THE_POLE_OF_STRETCHING);
		createEAttribute(gridDefinitionTemplate352EClass, GRID_DEFINITION_TEMPLATE352__STRETCHING_FACTOR);

		gridDefinitionTemplate353EClass = createEClass(GRID_DEFINITION_TEMPLATE353);
		createEAttribute(gridDefinitionTemplate353EClass, GRID_DEFINITION_TEMPLATE353__LATITUDE_OF_SOUTHERN_POLE_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate353EClass, GRID_DEFINITION_TEMPLATE353__LONGITUDE_OF_SOUTHERN_POLE_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate353EClass, GRID_DEFINITION_TEMPLATE353__ANGLE_OF_ROTATION_OF_PROJECTION);
		createEAttribute(gridDefinitionTemplate353EClass, GRID_DEFINITION_TEMPLATE353__LATITUDE_OF_THE_POLE_OF_STRETCHING);
		createEAttribute(gridDefinitionTemplate353EClass, GRID_DEFINITION_TEMPLATE353__LONGITUDE_OF_THE_POLE_OF_STRETCHING);
		createEAttribute(gridDefinitionTemplate353EClass, GRID_DEFINITION_TEMPLATE353__STRETCHING_FACTOR);

		gridDefinitionTemplate390EClass = createEClass(GRID_DEFINITION_TEMPLATE390);
		createEAttribute(gridDefinitionTemplate390EClass, GRID_DEFINITION_TEMPLATE390__NUMBER_OF_POINTS_ALONG_XAXIS);
		createEAttribute(gridDefinitionTemplate390EClass, GRID_DEFINITION_TEMPLATE390__NUMBER_OF_POINTS_ALONG_YAXIS);
		createEAttribute(gridDefinitionTemplate390EClass, GRID_DEFINITION_TEMPLATE390__LATITUDE_OF_SUB_SATELLITE_POINT);
		createEAttribute(gridDefinitionTemplate390EClass, GRID_DEFINITION_TEMPLATE390__LONGITUDE_OF_SUB_SATELLITE_POINT);
		createEAttribute(gridDefinitionTemplate390EClass, GRID_DEFINITION_TEMPLATE390__RESOLUTION_AND_COMPONENT_FLAGS);
		createEAttribute(gridDefinitionTemplate390EClass, GRID_DEFINITION_TEMPLATE390__APPARENT_DIAMETER_OF_EARTH_IN_XDIRECTION);
		createEAttribute(gridDefinitionTemplate390EClass, GRID_DEFINITION_TEMPLATE390__APPARENT_DIAMETER_OF_EARTH_IN_YDIRECTION);
		createEAttribute(gridDefinitionTemplate390EClass, GRID_DEFINITION_TEMPLATE390__XCOORDINATE_OF_SUB_SATELLITE_POINT);
		createEAttribute(gridDefinitionTemplate390EClass, GRID_DEFINITION_TEMPLATE390__YCOORDINATE_OF_SUB_SATELLITE_POINT);
		createEAttribute(gridDefinitionTemplate390EClass, GRID_DEFINITION_TEMPLATE390__SCANNING_MODE);
		createEAttribute(gridDefinitionTemplate390EClass, GRID_DEFINITION_TEMPLATE390__ORIENTATION_OF_THE_GRID);
		createEAttribute(gridDefinitionTemplate390EClass, GRID_DEFINITION_TEMPLATE390__ALTITUDE_OF_THE_CAMERA_FROM_THE_EARTH_CENTRE);
		createEAttribute(gridDefinitionTemplate390EClass, GRID_DEFINITION_TEMPLATE390__XCOORDINATE_OF_ORIGIN_OF_SECTOR_IMAGE);
		createEAttribute(gridDefinitionTemplate390EClass, GRID_DEFINITION_TEMPLATE390__YCOORDINATE_OF_ORIGIN_OF_SECTOR_IMAGE);

		gridDefinitionTemplate3100EClass = createEClass(GRID_DEFINITION_TEMPLATE3100);
		createEAttribute(gridDefinitionTemplate3100EClass, GRID_DEFINITION_TEMPLATE3100__EXPONENT_OF2);
		createEAttribute(gridDefinitionTemplate3100EClass, GRID_DEFINITION_TEMPLATE3100__EXPONENT_OF3);
		createEAttribute(gridDefinitionTemplate3100EClass, GRID_DEFINITION_TEMPLATE3100__NUMBER_OF_INTERVALS);
		createEAttribute(gridDefinitionTemplate3100EClass, GRID_DEFINITION_TEMPLATE3100__NUMBER_OF_DIAMONDS);
		createEAttribute(gridDefinitionTemplate3100EClass, GRID_DEFINITION_TEMPLATE3100__LATITUDE_OF_THE_POLE_POINT);
		createEAttribute(gridDefinitionTemplate3100EClass, GRID_DEFINITION_TEMPLATE3100__LONGITUDE_OF_THE_POLE_POINT);
		createEAttribute(gridDefinitionTemplate3100EClass, GRID_DEFINITION_TEMPLATE3100__LONGITUDE_OF_THE_CENTRE_LINE_OF_THE_FIRST_DIAMOND);
		createEAttribute(gridDefinitionTemplate3100EClass, GRID_DEFINITION_TEMPLATE3100__GRID_POINT_POSITION);
		createEAttribute(gridDefinitionTemplate3100EClass, GRID_DEFINITION_TEMPLATE3100__NUMBERING_ORDER_OF_DIAMONDS);
		createEAttribute(gridDefinitionTemplate3100EClass, GRID_DEFINITION_TEMPLATE3100__SCANNING_MODE_FOR_ONE_DIAMOND);
		createEAttribute(gridDefinitionTemplate3100EClass, GRID_DEFINITION_TEMPLATE3100__TOTAL_NUMBER_OF_GRID_POINTS);

		gridDefinitionTemplate3101EClass = createEClass(GRID_DEFINITION_TEMPLATE3101);
		createEAttribute(gridDefinitionTemplate3101EClass, GRID_DEFINITION_TEMPLATE3101__SHAPE_OF_THE_EARTH);
		createEAttribute(gridDefinitionTemplate3101EClass, GRID_DEFINITION_TEMPLATE3101__NUMBER_OF_GRID_USED);
		createEAttribute(gridDefinitionTemplate3101EClass, GRID_DEFINITION_TEMPLATE3101__NUMBER_OF_GRID_IN_REFERENCE);
		createEAttribute(gridDefinitionTemplate3101EClass, GRID_DEFINITION_TEMPLATE3101__UNIVERSALLY_UNIQUE_IDENTIFIER_OFFSET);

		gridDefinitionTemplate3110EClass = createEClass(GRID_DEFINITION_TEMPLATE3110);
		createEAttribute(gridDefinitionTemplate3110EClass, GRID_DEFINITION_TEMPLATE3110__NUMBER_OF_POINTS_ALONG_XAXIS);
		createEAttribute(gridDefinitionTemplate3110EClass, GRID_DEFINITION_TEMPLATE3110__NUMBER_OF_POINTS_ALONG_YAXIS);
		createEAttribute(gridDefinitionTemplate3110EClass, GRID_DEFINITION_TEMPLATE3110__LATITUDE_OF_TANGENCY_POINT);
		createEAttribute(gridDefinitionTemplate3110EClass, GRID_DEFINITION_TEMPLATE3110__LONGITUDE_OF_TANGENCY_POINT);
		createEAttribute(gridDefinitionTemplate3110EClass, GRID_DEFINITION_TEMPLATE3110__RESOLUTION_AND_COMPONENT_FLAGS);
		createEAttribute(gridDefinitionTemplate3110EClass, GRID_DEFINITION_TEMPLATE3110__XDIRECTION_GRID_LENGTH);
		createEAttribute(gridDefinitionTemplate3110EClass, GRID_DEFINITION_TEMPLATE3110__YDIRECTION_GRID_LENGTH);
		createEAttribute(gridDefinitionTemplate3110EClass, GRID_DEFINITION_TEMPLATE3110__PROJECTION_CENTRE_FLAG);
		createEAttribute(gridDefinitionTemplate3110EClass, GRID_DEFINITION_TEMPLATE3110__SCANNING_MODE);

		gridDefinitionTemplate3120EClass = createEClass(GRID_DEFINITION_TEMPLATE3120);
		createEAttribute(gridDefinitionTemplate3120EClass, GRID_DEFINITION_TEMPLATE3120__NUMBER_OF_DATA_BINS_ALONG_RADIALS);
		createEAttribute(gridDefinitionTemplate3120EClass, GRID_DEFINITION_TEMPLATE3120__NUMBER_OF_RADIALS);
		createEAttribute(gridDefinitionTemplate3120EClass, GRID_DEFINITION_TEMPLATE3120__LATITUDE_OF_CENTRE_POINT);
		createEAttribute(gridDefinitionTemplate3120EClass, GRID_DEFINITION_TEMPLATE3120__LONGITUDE_OF_CENTRE_POINT);
		createEAttribute(gridDefinitionTemplate3120EClass, GRID_DEFINITION_TEMPLATE3120__SPACING_OF_BINS_ALONG_RADIALS);
		createEAttribute(gridDefinitionTemplate3120EClass, GRID_DEFINITION_TEMPLATE3120__OFFSET_FROM_ORIGIN_TO_INNER_BOUND);
		createEAttribute(gridDefinitionTemplate3120EClass, GRID_DEFINITION_TEMPLATE3120__SCANNING_MODE);
		createEAttribute(gridDefinitionTemplate3120EClass, GRID_DEFINITION_TEMPLATE3120__RADIAL_OFFSET);

		gridDefinitionTemplate31000EClass = createEClass(GRID_DEFINITION_TEMPLATE31000);
		createEAttribute(gridDefinitionTemplate31000EClass, GRID_DEFINITION_TEMPLATE31000__NUMBER_OF_HORIZONTAL_POINTS);
		createEAttribute(gridDefinitionTemplate31000EClass, GRID_DEFINITION_TEMPLATE31000__BASIC_ANGLE_OF_THE_INITIAL_PRODUCTION_DOMAIN);
		createEAttribute(gridDefinitionTemplate31000EClass, GRID_DEFINITION_TEMPLATE31000__SUBDIVISIONS_OF_BASIC_ANGLE);
		createEAttribute(gridDefinitionTemplate31000EClass, GRID_DEFINITION_TEMPLATE31000__LATITUDE_OF_FIRST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate31000EClass, GRID_DEFINITION_TEMPLATE31000__LONGITUDE_OF_FIRST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate31000EClass, GRID_DEFINITION_TEMPLATE31000__SCANNING_MODE);
		createEAttribute(gridDefinitionTemplate31000EClass, GRID_DEFINITION_TEMPLATE31000__LATITUDE_OF_LAST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate31000EClass, GRID_DEFINITION_TEMPLATE31000__LONGITUDE_OF_LAST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate31000EClass, GRID_DEFINITION_TEMPLATE31000__TYPE_OF_HORIZONTAL_LINE);
		createEAttribute(gridDefinitionTemplate31000EClass, GRID_DEFINITION_TEMPLATE31000__NUMBER_OF_VERTICAL_POINTS);
		createEAttribute(gridDefinitionTemplate31000EClass, GRID_DEFINITION_TEMPLATE31000__PHYSICAL_MEANING_OF_VERTICAL_COORDINATE);
		createEAttribute(gridDefinitionTemplate31000EClass, GRID_DEFINITION_TEMPLATE31000__VERTICAL_DIMENSION_COORDINATE_VALUES_DEFINITION);
		createEAttribute(gridDefinitionTemplate31000EClass, GRID_DEFINITION_TEMPLATE31000__NUMBER_OF_COEFFICIENTS);
		createEAttribute(gridDefinitionTemplate31000EClass, GRID_DEFINITION_TEMPLATE31000__COEFFICIENTS_OFFSET);

		gridDefinitionTemplate31100EClass = createEClass(GRID_DEFINITION_TEMPLATE31100);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__NUMBER_OF_HORIZONTAL_POINTS);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__BASIC_ANGLE_OF_THE_INITIAL_PRODUCTION_DOMAIN);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__SUBDIVISIONS_OF_BASIC_ANGLE);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__LATITUDE_OF_FIRST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__LONGITUDE_OF_FIRST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__SCANNING_MODE);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__LATITUDE_OF_LAST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__LONGITUDE_OF_LAST_GRID_POINT);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__TYPE_OF_HORIZONTAL_LINE);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__NUMBER_OF_TIME_STEPS);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__UNIT_OF_OFFSET_FROM_REFERENCE_TIME);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__OFFSET_FROM_REFERENCE_OF_FIRST_TIME);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__TYPE_OF_TIME_INCREMENT);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__UNIT_OF_TIME_INCREMENT);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__TIME_INCREMENT);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__YEAR);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__MONTH);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__DAY);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__HOUR);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__MINUTE);
		createEAttribute(gridDefinitionTemplate31100EClass, GRID_DEFINITION_TEMPLATE31100__SECOND);

		gridDefinitionTemplate31200EClass = createEClass(GRID_DEFINITION_TEMPLATE31200);
		createEAttribute(gridDefinitionTemplate31200EClass, GRID_DEFINITION_TEMPLATE31200__NUMBER_OF_TIME_STEPS);
		createEAttribute(gridDefinitionTemplate31200EClass, GRID_DEFINITION_TEMPLATE31200__UNIT_OF_OFFSET_FROM_REFERENCE_TIME);
		createEAttribute(gridDefinitionTemplate31200EClass, GRID_DEFINITION_TEMPLATE31200__OFFSET_FROM_REFERENCE_OF_FIRST_TIME);
		createEAttribute(gridDefinitionTemplate31200EClass, GRID_DEFINITION_TEMPLATE31200__TYPE_OF_TIME_INCREMENT);
		createEAttribute(gridDefinitionTemplate31200EClass, GRID_DEFINITION_TEMPLATE31200__UNIT_OF_TIME_INCREMENT);
		createEAttribute(gridDefinitionTemplate31200EClass, GRID_DEFINITION_TEMPLATE31200__TIME_INCREMENT);
		createEAttribute(gridDefinitionTemplate31200EClass, GRID_DEFINITION_TEMPLATE31200__YEAR);
		createEAttribute(gridDefinitionTemplate31200EClass, GRID_DEFINITION_TEMPLATE31200__MONTH);
		createEAttribute(gridDefinitionTemplate31200EClass, GRID_DEFINITION_TEMPLATE31200__DAY);
		createEAttribute(gridDefinitionTemplate31200EClass, GRID_DEFINITION_TEMPLATE31200__HOUR);
		createEAttribute(gridDefinitionTemplate31200EClass, GRID_DEFINITION_TEMPLATE31200__MINUTE);
		createEAttribute(gridDefinitionTemplate31200EClass, GRID_DEFINITION_TEMPLATE31200__SECOND);
		createEAttribute(gridDefinitionTemplate31200EClass, GRID_DEFINITION_TEMPLATE31200__NUMBER_OF_VERTICAL_POINTS);
		createEAttribute(gridDefinitionTemplate31200EClass, GRID_DEFINITION_TEMPLATE31200__PHYSICAL_MEANING_OF_VERTICAL_COORDINATE);
		createEAttribute(gridDefinitionTemplate31200EClass, GRID_DEFINITION_TEMPLATE31200__VERTICAL_DIMENSION_COORDINATE_VALUES_DEFINITION);
		createEAttribute(gridDefinitionTemplate31200EClass, GRID_DEFINITION_TEMPLATE31200__NUMBER_OF_COEFFICIENTS);
		createEAttribute(gridDefinitionTemplate31200EClass, GRID_DEFINITION_TEMPLATE31200__COEFFICIENTS_OFFSET);

		// Create enums
		gridDefinitionTemplateNumberEEnum = createEEnum(GRID_DEFINITION_TEMPLATE_NUMBER);
		sourceOfGridDefinitionEEnum = createEEnum(SOURCE_OF_GRID_DEFINITION);
		shapeOfTheEarthEEnum = createEEnum(SHAPE_OF_THE_EARTH);
		gridPointPositionEEnum = createEEnum(GRID_POINT_POSITION);
		interpretationOfListOfNumbersAtEndOfSection3EEnum = createEEnum(INTERPRETATION_OF_LIST_OF_NUMBERS_AT_END_OF_SECTION3);
		physicalMeaningOfVerticalCoordinateEEnum = createEEnum(PHYSICAL_MEANING_OF_VERTICAL_COORDINATE);
		typeOfHorizontalLineEEnum = createEEnum(TYPE_OF_HORIZONTAL_LINE);
		verticalDimensionCoordinateValuesDefinitionEEnum = createEEnum(VERTICAL_DIMENSION_COORDINATE_VALUES_DEFINITION);
		resolutionAndComponentFlagsEEnum = createEEnum(RESOLUTION_AND_COMPONENT_FLAGS);
		scanningModeEEnum = createEEnum(SCANNING_MODE);
		projectionCentreEEnum = createEEnum(PROJECTION_CENTRE);
		spectralDataRepresentationTypeEEnum = createEEnum(SPECTRAL_DATA_REPRESENTATION_TYPE);
		spectralDataRepresentationModeEEnum = createEEnum(SPECTRAL_DATA_REPRESENTATION_MODE);
		numberingOrderOfDiamondsAsSeenFromTheCorrespondingPoleEEnum = createEEnum(NUMBERING_ORDER_OF_DIAMONDS_AS_SEEN_FROM_THE_CORRESPONDING_POLE);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private boolean isInitialized = false;

	/**
	 * Complete the initialization of the package and its meta-model.  This
	 * method is guarded to have no affect on any invocation but its first.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void initializePackageContents() {
		if (isInitialized) return;
		isInitialized = true;

		// Initialize package
		setName(eNAME);
		setNsPrefix(eNS_PREFIX);
		setNsURI(eNS_URI);

		// Create type parameters

		// Set bounds for type parameters

		// Add supertypes to classes
		earthShapeGridDefinitionEClass.getESuperTypes().add(this.getIGridDefinition());
		gridDefinitionTemplate30EClass.getESuperTypes().add(this.getEarthShapeGridDefinition());
		gridDefinitionTemplate31EClass.getESuperTypes().add(this.getGridDefinitionTemplate30());
		gridDefinitionTemplate32EClass.getESuperTypes().add(this.getGridDefinitionTemplate30());
		gridDefinitionTemplate33EClass.getESuperTypes().add(this.getGridDefinitionTemplate30());
		gridDefinitionTemplate34EClass.getESuperTypes().add(this.getEarthShapeGridDefinition());
		gridDefinitionTemplate35EClass.getESuperTypes().add(this.getGridDefinitionTemplate34());
		gridDefinitionTemplate310EClass.getESuperTypes().add(this.getEarthShapeGridDefinition());
		gridDefinitionTemplate312EClass.getESuperTypes().add(this.getEarthShapeGridDefinition());
		gridDefinitionTemplate320EClass.getESuperTypes().add(this.getEarthShapeGridDefinition());
		gridDefinitionTemplate330EClass.getESuperTypes().add(this.getEarthShapeGridDefinition());
		gridDefinitionTemplate331EClass.getESuperTypes().add(this.getEarthShapeGridDefinition());
		gridDefinitionTemplate340EClass.getESuperTypes().add(this.getEarthShapeGridDefinition());
		gridDefinitionTemplate341EClass.getESuperTypes().add(this.getGridDefinitionTemplate340());
		gridDefinitionTemplate342EClass.getESuperTypes().add(this.getGridDefinitionTemplate340());
		gridDefinitionTemplate343EClass.getESuperTypes().add(this.getGridDefinitionTemplate340());
		gridDefinitionTemplate350EClass.getESuperTypes().add(this.getIGridDefinition());
		gridDefinitionTemplate351EClass.getESuperTypes().add(this.getGridDefinitionTemplate350());
		gridDefinitionTemplate352EClass.getESuperTypes().add(this.getGridDefinitionTemplate350());
		gridDefinitionTemplate353EClass.getESuperTypes().add(this.getGridDefinitionTemplate350());
		gridDefinitionTemplate390EClass.getESuperTypes().add(this.getEarthShapeGridDefinition());
		gridDefinitionTemplate3100EClass.getESuperTypes().add(this.getIGridDefinition());
		gridDefinitionTemplate3101EClass.getESuperTypes().add(this.getIGridDefinition());
		gridDefinitionTemplate3110EClass.getESuperTypes().add(this.getEarthShapeGridDefinition());
		gridDefinitionTemplate3120EClass.getESuperTypes().add(this.getIGridDefinition());
		gridDefinitionTemplate31000EClass.getESuperTypes().add(this.getEarthShapeGridDefinition());
		gridDefinitionTemplate31100EClass.getESuperTypes().add(this.getEarthShapeGridDefinition());
		gridDefinitionTemplate31200EClass.getESuperTypes().add(this.getIGridDefinition());

		// Initialize classes and features; add operations and parameters
		initEClass(iGridDefinitionEClass, IGridDefinition.class, "IGridDefinition", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$

		initEClass(earthShapeGridDefinitionEClass, EarthShapeGridDefinition.class, "EarthShapeGridDefinition", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getEarthShapeGridDefinition_ShapeOfTheEarth(), ecorePackage.getEByte(), "shapeOfTheEarth", null, 1, 1, EarthShapeGridDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getEarthShapeGridDefinition_ScaleFactorOfRadiusOfSphericalEarth(), ecorePackage.getEByte(), "scaleFactorOfRadiusOfSphericalEarth", null, 1, 1, EarthShapeGridDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getEarthShapeGridDefinition_ScaledValueOfRadiusOfSphericalEarth(), ecorePackage.getEInt(), "scaledValueOfRadiusOfSphericalEarth", null, 1, 1, EarthShapeGridDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getEarthShapeGridDefinition_ScaleFactorOfMajorAxisOfOblateSpheroidEarth(), ecorePackage.getEByte(), "scaleFactorOfMajorAxisOfOblateSpheroidEarth", null, 1, 1, EarthShapeGridDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getEarthShapeGridDefinition_ScaledValueOfMajorAxisOfOblateSpheroidEarth(), ecorePackage.getEInt(), "scaledValueOfMajorAxisOfOblateSpheroidEarth", null, 1, 1, EarthShapeGridDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getEarthShapeGridDefinition_ScaleFactorOfMinorAxisOfOblateSpheroidEarth(), ecorePackage.getEByte(), "scaleFactorOfMinorAxisOfOblateSpheroidEarth", null, 1, 1, EarthShapeGridDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getEarthShapeGridDefinition_ScaledValueOfMinorAxisOfOblateSpheroidEarth(), ecorePackage.getEInt(), "scaledValueOfMinorAxisOfOblateSpheroidEarth", null, 1, 1, EarthShapeGridDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate30EClass, GridDefinitionTemplate30.class, "GridDefinitionTemplate30", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate30_NumberOfPointsAlongAParallel(), ecorePackage.getEInt(), "numberOfPointsAlongAParallel", null, 1, 1, GridDefinitionTemplate30.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate30_NumberOfPointsAlongAMeridian(), ecorePackage.getEInt(), "numberOfPointsAlongAMeridian", null, 1, 1, GridDefinitionTemplate30.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate30_BasicAngleOfTheInitialProductionDomain(), ecorePackage.getEInt(), "basicAngleOfTheInitialProductionDomain", null, 1, 1, GridDefinitionTemplate30.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate30_SubdivisionsOfBasicAngle(), ecorePackage.getEInt(), "subdivisionsOfBasicAngle", null, 1, 1, GridDefinitionTemplate30.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate30_LatitudeOfFirstGridPoint(), ecorePackage.getEInt(), "latitudeOfFirstGridPoint", null, 1, 1, GridDefinitionTemplate30.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate30_LongitudeOfFirstGridPoint(), ecorePackage.getEInt(), "longitudeOfFirstGridPoint", null, 1, 1, GridDefinitionTemplate30.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate30_ResolutionAndComponentFlags(), ecorePackage.getEByte(), "resolutionAndComponentFlags", null, 1, 1, GridDefinitionTemplate30.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate30_LatitudeOfLastGridPoint(), ecorePackage.getEInt(), "latitudeOfLastGridPoint", null, 1, 1, GridDefinitionTemplate30.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate30_LongitudeOfLastGridPoint(), ecorePackage.getEInt(), "longitudeOfLastGridPoint", null, 1, 1, GridDefinitionTemplate30.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate30_IDirectionIncrement(), ecorePackage.getEInt(), "iDirectionIncrement", null, 1, 1, GridDefinitionTemplate30.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate30_JDirectionIncrement(), ecorePackage.getEInt(), "jDirectionIncrement", null, 1, 1, GridDefinitionTemplate30.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate30_ScanningMode(), ecorePackage.getEByte(), "scanningMode", null, 1, 1, GridDefinitionTemplate30.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate30_ListOfNumberOfPointsOffset(), ecorePackage.getELong(), "listOfNumberOfPointsOffset", null, 0, 1, GridDefinitionTemplate30.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate31EClass, GridDefinitionTemplate31.class, "GridDefinitionTemplate31", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31_LatitudeOfSouthernPoleOfProjection(), ecorePackage.getEInt(), "latitudeOfSouthernPoleOfProjection", null, 1, 1, GridDefinitionTemplate31.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31_LongitudeOfSouthernPoleOfProjection(), ecorePackage.getEInt(), "longitudeOfSouthernPoleOfProjection", null, 1, 1, GridDefinitionTemplate31.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31_AngleOfRotationOfProjection(), ecorePackage.getEInt(), "angleOfRotationOfProjection", null, 1, 1, GridDefinitionTemplate31.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate32EClass, GridDefinitionTemplate32.class, "GridDefinitionTemplate32", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate32_LatitudeOfThePoleOfStretching(), ecorePackage.getEInt(), "latitudeOfThePoleOfStretching", null, 1, 1, GridDefinitionTemplate32.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate32_LongitudeOfThePoleOfStretching(), ecorePackage.getEInt(), "longitudeOfThePoleOfStretching", null, 1, 1, GridDefinitionTemplate32.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate32_StretchingFactor(), ecorePackage.getEInt(), "stretchingFactor", null, 0, 1, GridDefinitionTemplate32.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate33EClass, GridDefinitionTemplate33.class, "GridDefinitionTemplate33", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate33_LatitudeOfSouthernPoleOfProjection(), ecorePackage.getEInt(), "latitudeOfSouthernPoleOfProjection", null, 1, 1, GridDefinitionTemplate33.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate33_LongitudeOfSouthernPoleOfProjection(), ecorePackage.getEInt(), "longitudeOfSouthernPoleOfProjection", null, 1, 1, GridDefinitionTemplate33.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate33_AngleOfRotationOfProjection(), ecorePackage.getEInt(), "angleOfRotationOfProjection", null, 1, 1, GridDefinitionTemplate33.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate33_LatitudeOfThePoleOfStretching(), ecorePackage.getEInt(), "latitudeOfThePoleOfStretching", null, 1, 1, GridDefinitionTemplate33.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate33_LongitudeOfThePoleOfStretching(), ecorePackage.getEInt(), "longitudeOfThePoleOfStretching", null, 1, 1, GridDefinitionTemplate33.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate33_StretchingFactor(), ecorePackage.getEInt(), "stretchingFactor", null, 0, 1, GridDefinitionTemplate33.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate34EClass, GridDefinitionTemplate34.class, "GridDefinitionTemplate34", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate34_NumberOfPointsAlongAParallel(), ecorePackage.getEInt(), "numberOfPointsAlongAParallel", null, 1, 1, GridDefinitionTemplate34.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate34_NumberOfPointsAlongAMeridian(), ecorePackage.getEInt(), "numberOfPointsAlongAMeridian", null, 1, 1, GridDefinitionTemplate34.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate34_BasicAngleOfTheInitialProductionDomain(), ecorePackage.getEInt(), "basicAngleOfTheInitialProductionDomain", null, 1, 1, GridDefinitionTemplate34.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate34_SubdivisionsOfBasicAngle(), ecorePackage.getEInt(), "subdivisionsOfBasicAngle", null, 1, 1, GridDefinitionTemplate34.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate34_ResolutionAndComponentFlags(), ecorePackage.getEByte(), "resolutionAndComponentFlags", null, 1, 1, GridDefinitionTemplate34.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate34_ScanningMode(), ecorePackage.getEByte(), "scanningMode", null, 1, 1, GridDefinitionTemplate34.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate34_ListOfLongitudeOffset(), ecorePackage.getELong(), "listOfLongitudeOffset", null, 0, 1, GridDefinitionTemplate34.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate34_ListOfLatitudeOffset(), ecorePackage.getELong(), "listOfLatitudeOffset", null, 0, 1, GridDefinitionTemplate34.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate35EClass, GridDefinitionTemplate35.class, "GridDefinitionTemplate35", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate35_LatitudeOfSouthernPoleOfProjection(), ecorePackage.getEInt(), "latitudeOfSouthernPoleOfProjection", null, 1, 1, GridDefinitionTemplate35.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate35_LongitudeOfSouthernPoleOfProjection(), ecorePackage.getEInt(), "longitudeOfSouthernPoleOfProjection", null, 1, 1, GridDefinitionTemplate35.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate35_AngleOfRotationOfProjection(), ecorePackage.getEInt(), "angleOfRotationOfProjection", null, 1, 1, GridDefinitionTemplate35.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate310EClass, GridDefinitionTemplate310.class, "GridDefinitionTemplate310", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate310_NumberOfPointsAlongAParallel(), ecorePackage.getEInt(), "numberOfPointsAlongAParallel", null, 1, 1, GridDefinitionTemplate310.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate310_NumberOfPointsAlongAMeridian(), ecorePackage.getEInt(), "numberOfPointsAlongAMeridian", null, 1, 1, GridDefinitionTemplate310.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate310_LatitudeOfFirstGridPoint(), ecorePackage.getEInt(), "latitudeOfFirstGridPoint", null, 1, 1, GridDefinitionTemplate310.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate310_LongitudeOfFirstGridPoint(), ecorePackage.getEInt(), "longitudeOfFirstGridPoint", null, 1, 1, GridDefinitionTemplate310.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate310_ResolutionAndComponentFlags(), ecorePackage.getEByte(), "resolutionAndComponentFlags", null, 1, 1, GridDefinitionTemplate310.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate310_LatitudeOfMercatorProjectionIntersectionWithEarth(), ecorePackage.getEInt(), "latitudeOfMercatorProjectionIntersectionWithEarth", null, 1, 1, GridDefinitionTemplate310.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate310_LatitudeOfLastGridPoint(), ecorePackage.getEInt(), "latitudeOfLastGridPoint", null, 1, 1, GridDefinitionTemplate310.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate310_LongitudeOfLastGridPoint(), ecorePackage.getEInt(), "longitudeOfLastGridPoint", null, 1, 1, GridDefinitionTemplate310.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate310_ScanningMode(), ecorePackage.getEByte(), "scanningMode", null, 1, 1, GridDefinitionTemplate310.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate310_OrientationOfTheGrid(), ecorePackage.getEInt(), "orientationOfTheGrid", null, 1, 1, GridDefinitionTemplate310.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate310_LongitudinalDirectionGridLength(), ecorePackage.getEInt(), "longitudinalDirectionGridLength", null, 1, 1, GridDefinitionTemplate310.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate310_LatitudinalDirectionGridLength(), ecorePackage.getEInt(), "latitudinalDirectionGridLength", null, 1, 1, GridDefinitionTemplate310.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate310_ListOfNumberOfPointsOffset(), ecorePackage.getELong(), "listOfNumberOfPointsOffset", null, 0, 1, GridDefinitionTemplate310.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate312EClass, GridDefinitionTemplate312.class, "GridDefinitionTemplate312", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate312_NumberOfPointsAlongAParallel(), ecorePackage.getEInt(), "numberOfPointsAlongAParallel", null, 1, 1, GridDefinitionTemplate312.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate312_NumberOfPointsAlongAMeridian(), ecorePackage.getEInt(), "numberOfPointsAlongAMeridian", null, 1, 1, GridDefinitionTemplate312.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate312_GeographicLatitudeOfReferencePoint(), ecorePackage.getEInt(), "geographicLatitudeOfReferencePoint", null, 1, 1, GridDefinitionTemplate312.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate312_GeographicLongitudeOfReferencePoint(), ecorePackage.getEInt(), "geographicLongitudeOfReferencePoint", null, 1, 1, GridDefinitionTemplate312.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate312_ResolutionAndComponentFlags(), ecorePackage.getEByte(), "resolutionAndComponentFlags", null, 1, 1, GridDefinitionTemplate312.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate312_ScaleFactorAtReferencePoint(), ecorePackage.getEInt(), "scaleFactorAtReferencePoint", null, 1, 1, GridDefinitionTemplate312.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate312_IDirectionCoordinateOfReferencePoint(), ecorePackage.getEInt(), "iDirectionCoordinateOfReferencePoint", null, 1, 1, GridDefinitionTemplate312.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate312_JDirectionCoordinateOfReferencePoint(), ecorePackage.getEInt(), "jDirectionCoordinateOfReferencePoint", null, 1, 1, GridDefinitionTemplate312.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate312_ScanningMode(), ecorePackage.getEByte(), "scanningMode", null, 1, 1, GridDefinitionTemplate312.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate312_IDirectionIncrementLength(), ecorePackage.getEInt(), "iDirectionIncrementLength", null, 1, 1, GridDefinitionTemplate312.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate312_JDirectionIncrementLength(), ecorePackage.getEInt(), "jDirectionIncrementLength", null, 1, 1, GridDefinitionTemplate312.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate312_IDirectionCoordinateOfTheFirstGridPoint(), ecorePackage.getEInt(), "iDirectionCoordinateOfTheFirstGridPoint", null, 1, 1, GridDefinitionTemplate312.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate312_JDirectionCoordinateOfTheFirstGridPoint(), ecorePackage.getEInt(), "jDirectionCoordinateOfTheFirstGridPoint", null, 1, 1, GridDefinitionTemplate312.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate312_IDirectionCoordinateOfTheLastGridPoint(), ecorePackage.getEInt(), "iDirectionCoordinateOfTheLastGridPoint", null, 1, 1, GridDefinitionTemplate312.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate312_JDirectionCoordinateOfTheLastGridPoint(), ecorePackage.getEInt(), "jDirectionCoordinateOfTheLastGridPoint", null, 1, 1, GridDefinitionTemplate312.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate320EClass, GridDefinitionTemplate320.class, "GridDefinitionTemplate320", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate320_NumberOfPointsAlongXAxis(), ecorePackage.getEInt(), "numberOfPointsAlongXAxis", null, 1, 1, GridDefinitionTemplate320.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate320_NumberOfPointsAlongYAxis(), ecorePackage.getEInt(), "numberOfPointsAlongYAxis", null, 1, 1, GridDefinitionTemplate320.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate320_LatitudeOfFirstGridPoint(), ecorePackage.getEInt(), "latitudeOfFirstGridPoint", null, 1, 1, GridDefinitionTemplate320.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate320_LongitudeOfFirstGridPoint(), ecorePackage.getEInt(), "longitudeOfFirstGridPoint", null, 1, 1, GridDefinitionTemplate320.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate320_ResolutionAndComponentFlags(), ecorePackage.getEByte(), "resolutionAndComponentFlags", null, 1, 1, GridDefinitionTemplate320.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate320_LatitudeWhereDxAndDyAreSpecified(), ecorePackage.getEInt(), "latitudeWhereDxAndDyAreSpecified", null, 1, 1, GridDefinitionTemplate320.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate320_OrientationOfTheGrid(), ecorePackage.getEInt(), "orientationOfTheGrid", null, 1, 1, GridDefinitionTemplate320.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate320_XDirectionGridLength(), ecorePackage.getEInt(), "xDirectionGridLength", null, 1, 1, GridDefinitionTemplate320.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate320_YDirectionGridLength(), ecorePackage.getEInt(), "yDirectionGridLength", null, 1, 1, GridDefinitionTemplate320.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate320_ProjectionCentreFlag(), ecorePackage.getEByte(), "projectionCentreFlag", null, 1, 1, GridDefinitionTemplate320.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate320_ScanningMode(), ecorePackage.getEByte(), "scanningMode", null, 1, 1, GridDefinitionTemplate320.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate330EClass, GridDefinitionTemplate330.class, "GridDefinitionTemplate330", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate330_NumberOfPointsAlongXAxis(), ecorePackage.getEInt(), "numberOfPointsAlongXAxis", null, 1, 1, GridDefinitionTemplate330.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate330_NumberOfPointsAlongYAxis(), ecorePackage.getEInt(), "numberOfPointsAlongYAxis", null, 1, 1, GridDefinitionTemplate330.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate330_LatitudeOfFirstGridPoint(), ecorePackage.getEInt(), "latitudeOfFirstGridPoint", null, 1, 1, GridDefinitionTemplate330.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate330_LongitudeOfFirstGridPoint(), ecorePackage.getEInt(), "longitudeOfFirstGridPoint", null, 1, 1, GridDefinitionTemplate330.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate330_ResolutionAndComponentFlags(), ecorePackage.getEByte(), "resolutionAndComponentFlags", null, 1, 1, GridDefinitionTemplate330.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate330_LatitudeWhereDxAndDyAreSpecified(), ecorePackage.getEInt(), "latitudeWhereDxAndDyAreSpecified", null, 1, 1, GridDefinitionTemplate330.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate330_LongitudeOfMeridianParallelToYAxis(), ecorePackage.getEInt(), "longitudeOfMeridianParallelToYAxis", null, 1, 1, GridDefinitionTemplate330.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate330_XDirectionGridLength(), ecorePackage.getEInt(), "xDirectionGridLength", null, 1, 1, GridDefinitionTemplate330.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate330_YDirectionGridLength(), ecorePackage.getEInt(), "yDirectionGridLength", null, 1, 1, GridDefinitionTemplate330.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate330_ProjectionCentreFlag(), ecorePackage.getEByte(), "projectionCentreFlag", null, 1, 1, GridDefinitionTemplate330.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate330_ScanningMode(), ecorePackage.getEByte(), "scanningMode", null, 1, 1, GridDefinitionTemplate330.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate330_Latin1(), ecorePackage.getEInt(), "latin1", null, 1, 1, GridDefinitionTemplate330.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate330_Latin2(), ecorePackage.getEInt(), "latin2", null, 1, 1, GridDefinitionTemplate330.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate330_LatitudeOfSouthernPoleOfProjection(), ecorePackage.getEInt(), "latitudeOfSouthernPoleOfProjection", null, 1, 1, GridDefinitionTemplate330.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate330_LongitudeOfSouthernPoleOfProjection(), ecorePackage.getEInt(), "longitudeOfSouthernPoleOfProjection", null, 1, 1, GridDefinitionTemplate330.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate331EClass, GridDefinitionTemplate331.class, "GridDefinitionTemplate331", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate331_NumberOfPointsAlongXAxis(), ecorePackage.getEInt(), "numberOfPointsAlongXAxis", null, 1, 1, GridDefinitionTemplate331.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate331_NumberOfPointsAlongYAxis(), ecorePackage.getEInt(), "numberOfPointsAlongYAxis", null, 1, 1, GridDefinitionTemplate331.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate331_LatitudeOfFirstGridPoint(), ecorePackage.getEInt(), "latitudeOfFirstGridPoint", null, 1, 1, GridDefinitionTemplate331.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate331_LongitudeOfFirstGridPoint(), ecorePackage.getEInt(), "longitudeOfFirstGridPoint", null, 1, 1, GridDefinitionTemplate331.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate331_ResolutionAndComponentFlags(), ecorePackage.getEByte(), "resolutionAndComponentFlags", null, 1, 1, GridDefinitionTemplate331.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate331_LatitudeWhereDxAndDyAreSpecified(), ecorePackage.getEInt(), "latitudeWhereDxAndDyAreSpecified", null, 1, 1, GridDefinitionTemplate331.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate331_LongitudeOfMeridianParallelToYAxis(), ecorePackage.getEInt(), "longitudeOfMeridianParallelToYAxis", null, 1, 1, GridDefinitionTemplate331.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate331_XDirectionGridLength(), ecorePackage.getEInt(), "xDirectionGridLength", null, 1, 1, GridDefinitionTemplate331.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate331_YDirectionGridLength(), ecorePackage.getEInt(), "yDirectionGridLength", null, 1, 1, GridDefinitionTemplate331.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate331_ProjectionCentreFlag(), ecorePackage.getEByte(), "projectionCentreFlag", null, 1, 1, GridDefinitionTemplate331.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate331_ScanningMode(), ecorePackage.getEByte(), "scanningMode", null, 1, 1, GridDefinitionTemplate331.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate331_Latin1(), ecorePackage.getEInt(), "latin1", null, 1, 1, GridDefinitionTemplate331.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate331_Latin2(), ecorePackage.getEInt(), "latin2", null, 1, 1, GridDefinitionTemplate331.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate331_LatitudeOfSouthernPoleOfProjection(), ecorePackage.getEInt(), "latitudeOfSouthernPoleOfProjection", null, 1, 1, GridDefinitionTemplate331.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate331_LongitudeOfSouthernPoleOfProjection(), ecorePackage.getEInt(), "longitudeOfSouthernPoleOfProjection", null, 1, 1, GridDefinitionTemplate331.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate340EClass, GridDefinitionTemplate340.class, "GridDefinitionTemplate340", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate340_NumberOfPointsAlongAParallel(), ecorePackage.getEInt(), "numberOfPointsAlongAParallel", null, 1, 1, GridDefinitionTemplate340.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate340_NumberOfPointsAlongAMeridian(), ecorePackage.getEInt(), "numberOfPointsAlongAMeridian", null, 1, 1, GridDefinitionTemplate340.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate340_BasicAngleOfTheInitialProductionDomain(), ecorePackage.getEInt(), "basicAngleOfTheInitialProductionDomain", null, 1, 1, GridDefinitionTemplate340.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate340_SubdivisionsOfBasicAngle(), ecorePackage.getEInt(), "subdivisionsOfBasicAngle", null, 1, 1, GridDefinitionTemplate340.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate340_LatitudeOfFirstGridPoint(), ecorePackage.getEInt(), "latitudeOfFirstGridPoint", null, 1, 1, GridDefinitionTemplate340.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate340_LongitudeOfFirstGridPoint(), ecorePackage.getEInt(), "longitudeOfFirstGridPoint", null, 1, 1, GridDefinitionTemplate340.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate340_ResolutionAndComponentFlags(), ecorePackage.getEByte(), "resolutionAndComponentFlags", null, 1, 1, GridDefinitionTemplate340.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate340_LatitudeOfLastGridPoint(), ecorePackage.getEInt(), "latitudeOfLastGridPoint", null, 1, 1, GridDefinitionTemplate340.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate340_LongitudeOfLastGridPoint(), ecorePackage.getEInt(), "longitudeOfLastGridPoint", null, 1, 1, GridDefinitionTemplate340.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate340_IDirectionIncrement(), ecorePackage.getEInt(), "iDirectionIncrement", null, 1, 1, GridDefinitionTemplate340.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate340_NumberOfParallelsBetweenAPoleAndTheEquator(), ecorePackage.getEInt(), "numberOfParallelsBetweenAPoleAndTheEquator", null, 1, 1, GridDefinitionTemplate340.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate340_ScanningMode(), ecorePackage.getEByte(), "scanningMode", null, 1, 1, GridDefinitionTemplate340.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate340_ListOfNumberOfPointsOffset(), ecorePackage.getELong(), "listOfNumberOfPointsOffset", null, 0, 1, GridDefinitionTemplate340.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate341EClass, GridDefinitionTemplate341.class, "GridDefinitionTemplate341", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate341_LatitudeOfSouthernPoleOfProjection(), ecorePackage.getEInt(), "latitudeOfSouthernPoleOfProjection", null, 1, 1, GridDefinitionTemplate341.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate341_LongitudeOfSouthernPoleOfProjection(), ecorePackage.getEInt(), "longitudeOfSouthernPoleOfProjection", null, 1, 1, GridDefinitionTemplate341.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate341_AngleOfRotationOfProjection(), ecorePackage.getEInt(), "angleOfRotationOfProjection", null, 1, 1, GridDefinitionTemplate341.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate342EClass, GridDefinitionTemplate342.class, "GridDefinitionTemplate342", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate342_LatitudeOfThePoleOfStretching(), ecorePackage.getEInt(), "latitudeOfThePoleOfStretching", null, 1, 1, GridDefinitionTemplate342.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate342_LongitudeOfThePoleOfStretching(), ecorePackage.getEInt(), "longitudeOfThePoleOfStretching", null, 1, 1, GridDefinitionTemplate342.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate342_StretchingFactor(), ecorePackage.getEInt(), "stretchingFactor", null, 1, 1, GridDefinitionTemplate342.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate343EClass, GridDefinitionTemplate343.class, "GridDefinitionTemplate343", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate343_LatitudeOfSouthernPoleOfProjection(), ecorePackage.getEInt(), "latitudeOfSouthernPoleOfProjection", null, 1, 1, GridDefinitionTemplate343.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate343_LongitudeOfSouthernPoleOfProjection(), ecorePackage.getEInt(), "longitudeOfSouthernPoleOfProjection", null, 1, 1, GridDefinitionTemplate343.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate343_AngleOfRotationOfProjection(), ecorePackage.getEInt(), "angleOfRotationOfProjection", null, 1, 1, GridDefinitionTemplate343.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate343_LatitudeOfThePoleOfStretching(), ecorePackage.getEInt(), "latitudeOfThePoleOfStretching", null, 1, 1, GridDefinitionTemplate343.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate343_LongitudeOfThePoleOfStretching(), ecorePackage.getEInt(), "longitudeOfThePoleOfStretching", null, 1, 1, GridDefinitionTemplate343.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate343_StretchingFactor(), ecorePackage.getEInt(), "stretchingFactor", null, 0, 1, GridDefinitionTemplate343.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate350EClass, GridDefinitionTemplate350.class, "GridDefinitionTemplate350", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate350_JPentagonalResolutionParameter(), ecorePackage.getEInt(), "jPentagonalResolutionParameter", null, 1, 1, GridDefinitionTemplate350.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate350_KPentagonalResolutionParameter(), ecorePackage.getEInt(), "kPentagonalResolutionParameter", null, 1, 1, GridDefinitionTemplate350.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate350_MPentagonalResolutionParameter(), ecorePackage.getEInt(), "mPentagonalResolutionParameter", null, 1, 1, GridDefinitionTemplate350.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate350_RepresentationType(), ecorePackage.getEByte(), "representationType", null, 1, 1, GridDefinitionTemplate350.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate350_RepresentationMode(), ecorePackage.getEByte(), "representationMode", null, 1, 1, GridDefinitionTemplate350.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate351EClass, GridDefinitionTemplate351.class, "GridDefinitionTemplate351", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate351_LatitudeOfSouthernPoleOfProjection(), ecorePackage.getEInt(), "latitudeOfSouthernPoleOfProjection", null, 1, 1, GridDefinitionTemplate351.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate351_LongitudeOfSouthernPoleOfProjection(), ecorePackage.getEInt(), "longitudeOfSouthernPoleOfProjection", null, 1, 1, GridDefinitionTemplate351.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate351_AngleOfRotationOfProjection(), ecorePackage.getEInt(), "angleOfRotationOfProjection", null, 1, 1, GridDefinitionTemplate351.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate352EClass, GridDefinitionTemplate352.class, "GridDefinitionTemplate352", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate352_LatitudeOfThePoleOfStretching(), ecorePackage.getEInt(), "latitudeOfThePoleOfStretching", null, 1, 1, GridDefinitionTemplate352.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate352_LongitudeOfThePoleOfStretching(), ecorePackage.getEInt(), "longitudeOfThePoleOfStretching", null, 1, 1, GridDefinitionTemplate352.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate352_StretchingFactor(), ecorePackage.getEInt(), "stretchingFactor", null, 0, 1, GridDefinitionTemplate352.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate353EClass, GridDefinitionTemplate353.class, "GridDefinitionTemplate353", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate353_LatitudeOfSouthernPoleOfProjection(), ecorePackage.getEInt(), "latitudeOfSouthernPoleOfProjection", null, 1, 1, GridDefinitionTemplate353.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate353_LongitudeOfSouthernPoleOfProjection(), ecorePackage.getEInt(), "longitudeOfSouthernPoleOfProjection", null, 1, 1, GridDefinitionTemplate353.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate353_AngleOfRotationOfProjection(), ecorePackage.getEInt(), "angleOfRotationOfProjection", null, 1, 1, GridDefinitionTemplate353.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate353_LatitudeOfThePoleOfStretching(), ecorePackage.getEInt(), "latitudeOfThePoleOfStretching", null, 1, 1, GridDefinitionTemplate353.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate353_LongitudeOfThePoleOfStretching(), ecorePackage.getEInt(), "longitudeOfThePoleOfStretching", null, 1, 1, GridDefinitionTemplate353.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate353_StretchingFactor(), ecorePackage.getEInt(), "stretchingFactor", null, 1, 1, GridDefinitionTemplate353.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate390EClass, GridDefinitionTemplate390.class, "GridDefinitionTemplate390", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate390_NumberOfPointsAlongXAxis(), ecorePackage.getEInt(), "numberOfPointsAlongXAxis", null, 1, 1, GridDefinitionTemplate390.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate390_NumberOfPointsAlongYAxis(), ecorePackage.getEInt(), "numberOfPointsAlongYAxis", null, 1, 1, GridDefinitionTemplate390.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate390_LatitudeOfSubSatellitePoint(), ecorePackage.getEInt(), "latitudeOfSubSatellitePoint", null, 1, 1, GridDefinitionTemplate390.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate390_LongitudeOfSubSatellitePoint(), ecorePackage.getEInt(), "longitudeOfSubSatellitePoint", null, 1, 1, GridDefinitionTemplate390.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate390_ResolutionAndComponentFlags(), ecorePackage.getEByte(), "resolutionAndComponentFlags", null, 1, 1, GridDefinitionTemplate390.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate390_ApparentDiameterOfEarthInXDirection(), ecorePackage.getEInt(), "apparentDiameterOfEarthInXDirection", null, 1, 1, GridDefinitionTemplate390.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate390_ApparentDiameterOfEarthInYDirection(), ecorePackage.getEInt(), "apparentDiameterOfEarthInYDirection", null, 1, 1, GridDefinitionTemplate390.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate390_XCoordinateOfSubSatellitePoint(), ecorePackage.getEInt(), "xCoordinateOfSubSatellitePoint", null, 1, 1, GridDefinitionTemplate390.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate390_YCoordinateOfSubSatellitePoint(), ecorePackage.getEInt(), "yCoordinateOfSubSatellitePoint", null, 1, 1, GridDefinitionTemplate390.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate390_ScanningMode(), ecorePackage.getEByte(), "scanningMode", null, 1, 1, GridDefinitionTemplate390.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate390_OrientationOfTheGrid(), ecorePackage.getEInt(), "orientationOfTheGrid", null, 1, 1, GridDefinitionTemplate390.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate390_AltitudeOfTheCameraFromTheEarthCentre(), ecorePackage.getEInt(), "altitudeOfTheCameraFromTheEarthCentre", null, 1, 1, GridDefinitionTemplate390.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate390_XCoordinateOfOriginOfSectorImage(), ecorePackage.getEInt(), "xCoordinateOfOriginOfSectorImage", null, 1, 1, GridDefinitionTemplate390.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate390_YCoordinateOfOriginOfSectorImage(), ecorePackage.getEInt(), "yCoordinateOfOriginOfSectorImage", null, 1, 1, GridDefinitionTemplate390.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate3100EClass, GridDefinitionTemplate3100.class, "GridDefinitionTemplate3100", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3100_ExponentOf2(), ecorePackage.getEByte(), "exponentOf2", null, 1, 1, GridDefinitionTemplate3100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3100_ExponentOf3(), ecorePackage.getEByte(), "exponentOf3", null, 1, 1, GridDefinitionTemplate3100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3100_NumberOfIntervals(), ecorePackage.getEShort(), "numberOfIntervals", null, 1, 1, GridDefinitionTemplate3100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3100_NumberOfDiamonds(), ecorePackage.getEByte(), "numberOfDiamonds", null, 1, 1, GridDefinitionTemplate3100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3100_LatitudeOfThePolePoint(), ecorePackage.getEInt(), "latitudeOfThePolePoint", null, 1, 1, GridDefinitionTemplate3100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3100_LongitudeOfThePolePoint(), ecorePackage.getEInt(), "longitudeOfThePolePoint", null, 1, 1, GridDefinitionTemplate3100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3100_LongitudeOfTheCentreLineOfTheFirstDiamond(), ecorePackage.getEInt(), "longitudeOfTheCentreLineOfTheFirstDiamond", null, 1, 1, GridDefinitionTemplate3100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3100_GridPointPosition(), ecorePackage.getEByte(), "gridPointPosition", null, 1, 1, GridDefinitionTemplate3100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3100_NumberingOrderOfDiamonds(), ecorePackage.getEByte(), "numberingOrderOfDiamonds", null, 1, 1, GridDefinitionTemplate3100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3100_ScanningModeForOneDiamond(), ecorePackage.getEByte(), "scanningModeForOneDiamond", null, 1, 1, GridDefinitionTemplate3100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3100_TotalNumberOfGridPoints(), ecorePackage.getEInt(), "totalNumberOfGridPoints", null, 1, 1, GridDefinitionTemplate3100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate3101EClass, GridDefinitionTemplate3101.class, "GridDefinitionTemplate3101", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3101_ShapeOfTheEarth(), ecorePackage.getEByte(), "shapeOfTheEarth", null, 1, 1, GridDefinitionTemplate3101.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3101_NumberOfGridUsed(), ecorePackage.getEInt(), "numberOfGridUsed", null, 1, 1, GridDefinitionTemplate3101.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3101_NumberOfGridInReference(), ecorePackage.getEByte(), "numberOfGridInReference", null, 1, 1, GridDefinitionTemplate3101.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3101_UniversallyUniqueIdentifierOffset(), ecorePackage.getELong(), "universallyUniqueIdentifierOffset", null, 1, 1, GridDefinitionTemplate3101.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate3110EClass, GridDefinitionTemplate3110.class, "GridDefinitionTemplate3110", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3110_NumberOfPointsAlongXAxis(), ecorePackage.getEInt(), "numberOfPointsAlongXAxis", null, 1, 1, GridDefinitionTemplate3110.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3110_NumberOfPointsAlongYAxis(), ecorePackage.getEInt(), "numberOfPointsAlongYAxis", null, 1, 1, GridDefinitionTemplate3110.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3110_LatitudeOfTangencyPoint(), ecorePackage.getEInt(), "latitudeOfTangencyPoint", null, 1, 1, GridDefinitionTemplate3110.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3110_LongitudeOfTangencyPoint(), ecorePackage.getEInt(), "longitudeOfTangencyPoint", null, 1, 1, GridDefinitionTemplate3110.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3110_ResolutionAndComponentFlags(), ecorePackage.getEByte(), "resolutionAndComponentFlags", null, 1, 1, GridDefinitionTemplate3110.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3110_XDirectionGridLength(), ecorePackage.getEInt(), "xDirectionGridLength", null, 1, 1, GridDefinitionTemplate3110.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3110_YDirectionGridLength(), ecorePackage.getEInt(), "yDirectionGridLength", null, 1, 1, GridDefinitionTemplate3110.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3110_ProjectionCentreFlag(), ecorePackage.getEByte(), "projectionCentreFlag", null, 1, 1, GridDefinitionTemplate3110.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3110_ScanningMode(), ecorePackage.getEByte(), "scanningMode", null, 1, 1, GridDefinitionTemplate3110.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate3120EClass, GridDefinitionTemplate3120.class, "GridDefinitionTemplate3120", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3120_NumberOfDataBinsAlongRadials(), ecorePackage.getEInt(), "numberOfDataBinsAlongRadials", null, 1, 1, GridDefinitionTemplate3120.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3120_NumberOfRadials(), ecorePackage.getEInt(), "numberOfRadials", null, 1, 1, GridDefinitionTemplate3120.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3120_LatitudeOfCentrePoint(), ecorePackage.getEInt(), "latitudeOfCentrePoint", null, 1, 1, GridDefinitionTemplate3120.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3120_LongitudeOfCentrePoint(), ecorePackage.getEInt(), "longitudeOfCentrePoint", null, 1, 1, GridDefinitionTemplate3120.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3120_SpacingOfBinsAlongRadials(), ecorePackage.getEInt(), "spacingOfBinsAlongRadials", null, 1, 1, GridDefinitionTemplate3120.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3120_OffsetFromOriginToInnerBound(), ecorePackage.getEInt(), "offsetFromOriginToInnerBound", null, 1, 1, GridDefinitionTemplate3120.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3120_ScanningMode(), ecorePackage.getEByte(), "scanningMode", null, 1, 1, GridDefinitionTemplate3120.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate3120_RadialOffset(), ecorePackage.getELong(), "radialOffset", null, 1, -1, GridDefinitionTemplate3120.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate31000EClass, GridDefinitionTemplate31000.class, "GridDefinitionTemplate31000", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31000_NumberOfHorizontalPoints(), ecorePackage.getEInt(), "numberOfHorizontalPoints", null, 1, 1, GridDefinitionTemplate31000.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31000_BasicAngleOfTheInitialProductionDomain(), ecorePackage.getEInt(), "basicAngleOfTheInitialProductionDomain", null, 1, 1, GridDefinitionTemplate31000.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31000_SubdivisionsOfBasicAngle(), ecorePackage.getEInt(), "subdivisionsOfBasicAngle", null, 1, 1, GridDefinitionTemplate31000.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31000_LatitudeOfFirstGridPoint(), ecorePackage.getEInt(), "latitudeOfFirstGridPoint", null, 1, 1, GridDefinitionTemplate31000.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31000_LongitudeOfFirstGridPoint(), ecorePackage.getEInt(), "longitudeOfFirstGridPoint", null, 1, 1, GridDefinitionTemplate31000.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31000_ScanningMode(), ecorePackage.getEByte(), "scanningMode", null, 1, 1, GridDefinitionTemplate31000.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31000_LatitudeOfLastGridPoint(), ecorePackage.getEInt(), "latitudeOfLastGridPoint", null, 1, 1, GridDefinitionTemplate31000.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31000_LongitudeOfLastGridPoint(), ecorePackage.getEInt(), "longitudeOfLastGridPoint", null, 1, 1, GridDefinitionTemplate31000.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31000_TypeOfHorizontalLine(), ecorePackage.getEByte(), "typeOfHorizontalLine", null, 1, 1, GridDefinitionTemplate31000.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31000_NumberOfVerticalPoints(), ecorePackage.getEShort(), "numberOfVerticalPoints", null, 1, 1, GridDefinitionTemplate31000.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31000_PhysicalMeaningOfVerticalCoordinate(), ecorePackage.getEByte(), "physicalMeaningOfVerticalCoordinate", null, 1, 1, GridDefinitionTemplate31000.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31000_VerticalDimensionCoordinateValuesDefinition(), ecorePackage.getEByte(), "verticalDimensionCoordinateValuesDefinition", null, 1, 1, GridDefinitionTemplate31000.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31000_NumberOfCoefficients(), ecorePackage.getEShort(), "numberOfCoefficients", null, 1, 1, GridDefinitionTemplate31000.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31000_CoefficientsOffset(), ecorePackage.getELong(), "coefficientsOffset", null, 1, 1, GridDefinitionTemplate31000.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate31100EClass, GridDefinitionTemplate31100.class, "GridDefinitionTemplate31100", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_NumberOfHorizontalPoints(), ecorePackage.getEInt(), "numberOfHorizontalPoints", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_BasicAngleOfTheInitialProductionDomain(), ecorePackage.getEInt(), "basicAngleOfTheInitialProductionDomain", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_SubdivisionsOfBasicAngle(), ecorePackage.getEInt(), "subdivisionsOfBasicAngle", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_LatitudeOfFirstGridPoint(), ecorePackage.getEInt(), "latitudeOfFirstGridPoint", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_LongitudeOfFirstGridPoint(), ecorePackage.getEInt(), "longitudeOfFirstGridPoint", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_ScanningMode(), ecorePackage.getEByte(), "scanningMode", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_LatitudeOfLastGridPoint(), ecorePackage.getEInt(), "latitudeOfLastGridPoint", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_LongitudeOfLastGridPoint(), ecorePackage.getEInt(), "longitudeOfLastGridPoint", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_TypeOfHorizontalLine(), ecorePackage.getEByte(), "typeOfHorizontalLine", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_NumberOfTimeSteps(), ecorePackage.getEInt(), "numberOfTimeSteps", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_UnitOfOffsetFromReferenceTime(), ecorePackage.getEByte(), "unitOfOffsetFromReferenceTime", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_OffsetFromReferenceOfFirstTime(), ecorePackage.getEInt(), "offsetFromReferenceOfFirstTime", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_TypeOfTimeIncrement(), ecorePackage.getEByte(), "typeOfTimeIncrement", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_UnitOfTimeIncrement(), ecorePackage.getEByte(), "unitOfTimeIncrement", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_TimeIncrement(), ecorePackage.getEInt(), "timeIncrement", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_Year(), ecorePackage.getEShort(), "year", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_Month(), ecorePackage.getEByte(), "month", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_Day(), ecorePackage.getEByte(), "day", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_Hour(), ecorePackage.getEByte(), "hour", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_Minute(), ecorePackage.getEByte(), "minute", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31100_Second(), ecorePackage.getEByte(), "second", null, 1, 1, GridDefinitionTemplate31100.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		initEClass(gridDefinitionTemplate31200EClass, GridDefinitionTemplate31200.class, "GridDefinitionTemplate31200", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31200_NumberOfTimeSteps(), ecorePackage.getEInt(), "numberOfTimeSteps", null, 1, 1, GridDefinitionTemplate31200.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31200_UnitOfOffsetFromReferenceTime(), ecorePackage.getEByte(), "unitOfOffsetFromReferenceTime", null, 1, 1, GridDefinitionTemplate31200.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31200_OffsetFromReferenceOfFirstTime(), ecorePackage.getEInt(), "offsetFromReferenceOfFirstTime", null, 1, 1, GridDefinitionTemplate31200.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31200_TypeOfTimeIncrement(), ecorePackage.getEByte(), "typeOfTimeIncrement", null, 1, 1, GridDefinitionTemplate31200.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31200_UnitOfTimeIncrement(), ecorePackage.getEByte(), "unitOfTimeIncrement", null, 1, 1, GridDefinitionTemplate31200.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31200_TimeIncrement(), ecorePackage.getEInt(), "timeIncrement", null, 1, 1, GridDefinitionTemplate31200.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31200_Year(), ecorePackage.getEShort(), "year", null, 1, 1, GridDefinitionTemplate31200.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31200_Month(), ecorePackage.getEByte(), "month", null, 1, 1, GridDefinitionTemplate31200.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31200_Day(), ecorePackage.getEByte(), "day", null, 1, 1, GridDefinitionTemplate31200.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31200_Hour(), ecorePackage.getEByte(), "hour", null, 1, 1, GridDefinitionTemplate31200.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31200_Minute(), ecorePackage.getEByte(), "minute", null, 1, 1, GridDefinitionTemplate31200.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31200_Second(), ecorePackage.getEByte(), "second", null, 1, 1, GridDefinitionTemplate31200.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31200_NumberOfVerticalPoints(), ecorePackage.getEInt(), "numberOfVerticalPoints", null, 1, 1, GridDefinitionTemplate31200.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31200_PhysicalMeaningOfVerticalCoordinate(), ecorePackage.getEByte(), "physicalMeaningOfVerticalCoordinate", null, 1, 1, GridDefinitionTemplate31200.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31200_VerticalDimensionCoordinateValuesDefinition(), ecorePackage.getEByte(), "verticalDimensionCoordinateValuesDefinition", null, 1, 1, GridDefinitionTemplate31200.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31200_NumberOfCoefficients(), ecorePackage.getEShort(), "numberOfCoefficients", null, 1, 1, GridDefinitionTemplate31200.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
		initEAttribute(getGridDefinitionTemplate31200_CoefficientsOffset(), ecorePackage.getELong(), "coefficientsOffset", null, 1, 1, GridDefinitionTemplate31200.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$

		// Initialize enums and add enum literals
		initEEnum(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.class, "GridDefinitionTemplateNumber"); //$NON-NLS-1$
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.LATITUDE_LONGITUDE);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.ROTATED_LATITUDE_LONGITUDE);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.STRETCHED_LATITUDE_LONGITUDE);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.STRETCHED_AND_ROTATED_LATITUDE_LONGITUDE);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.VARIABLE_RESOLUTION_LATITUDE_LONGITUDE);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.VARIABLE_RESOLUTION_ROTATED_LATITUDE_LONGITUDE);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.MERCATOR);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.POLAR_STEREOGRAPHIC_PROJECTION);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.LAMBERT_CONFORMAL);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.ALBERS_EQUAL_AREA);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.GAUSSIAN_LATITUDE_LONGITUDE);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.ROTATED_GAUSSIAN_LATITUDE_LONGITUDE);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.STRETCHED_GAUSSIAN_LATITUDE_LONGITUDE);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.STRETCHED_AND_ROTATED_GAUSSIAN_LATITUDE_LONGITUDE);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.SPHERICAL_HARMONIC_COEFFICIENTS);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.ROTATED_SPHERICAL_HARMONIC_COEFFICIENTS);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.STRETCHED_SPHERICAL_HARMONIC_COEFFICIENTS);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.STRETCHED_AND_ROTATED_SPHERICAL_HARMONIC_COEFFICIENTS);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.SPACE_VIEW_PERSPECTIVE_OR_ORTHOGRAPHIC);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.TRIANGULAR_GRID_BASED_ON_AN_ICOSAHEDRON);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.EQUATORIAL_AZIMUTHAL_EQUIDISTANT_PROJECTION);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.AZIMUTH_RANGE_PROJECTION);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.CROSS_SECTION_GRID_WITH_POINTS_EQUALLY_SPACED_ON_THE_HORIZONTAL);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.HOVMOLLER_DIAGRAM_GRID_WITH_POINTS_EQUALLY_SPACED_ON_THE_HORIZONTAL);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.TIME_SECTION_GRID);
		addEEnumLiteral(gridDefinitionTemplateNumberEEnum, GridDefinitionTemplateNumber.MISSING);

		initEEnum(sourceOfGridDefinitionEEnum, SourceOfGridDefinition.class, "SourceOfGridDefinition"); //$NON-NLS-1$
		addEEnumLiteral(sourceOfGridDefinitionEEnum, SourceOfGridDefinition.SPECIFIED_IN_CODE_TABLE_31);
		addEEnumLiteral(sourceOfGridDefinitionEEnum, SourceOfGridDefinition.PREDETERMINED_GRID_DEFINITION);
		addEEnumLiteral(sourceOfGridDefinitionEEnum, SourceOfGridDefinition.AGRID_DEFINITION_DOEST_NOT_APPLY_TO_THIS_PRODUCT);

		initEEnum(shapeOfTheEarthEEnum, ShapeOfTheEarth.class, "ShapeOfTheEarth"); //$NON-NLS-1$
		addEEnumLiteral(shapeOfTheEarthEEnum, ShapeOfTheEarth.EARTH_ASSUMED_SPHERICAL_WITH_RADIUS_6367470_M);
		addEEnumLiteral(shapeOfTheEarthEEnum, ShapeOfTheEarth.EARTH_ASSUMED_SPHERICAL_WITH_RADIUS_SPECIFIED_BY_DATA_PRODUCER);
		addEEnumLiteral(shapeOfTheEarthEEnum, ShapeOfTheEarth.EARTH_ASSUMED_OBLATE_SPHEROID);
		addEEnumLiteral(shapeOfTheEarthEEnum, ShapeOfTheEarth.EARTH_ASSUMED_OBLATE_SPHEROID_WITH_MAJOR_AND_MINOR_AXES_SPECIFIED);
		addEEnumLiteral(shapeOfTheEarthEEnum, ShapeOfTheEarth.EARTH_ASSUMED_OBLATE_SPHEROID_AS_DEFINED_IN_IAG_GRS80_MODEL);
		addEEnumLiteral(shapeOfTheEarthEEnum, ShapeOfTheEarth.EARTH_ASSUMED_REPRESENTED_BY_WGS84);
		addEEnumLiteral(shapeOfTheEarthEEnum, ShapeOfTheEarth.EARTH_ASSUMED_SPHERICAL_WITH_RADIUS_OF_6371229_M);
		addEEnumLiteral(shapeOfTheEarthEEnum, ShapeOfTheEarth.EARTH_ASSUMED_OBLATE_SPHEROID_WITH_MAJOR_OR_MINOR_AXES_SPECIFIED);
		addEEnumLiteral(shapeOfTheEarthEEnum, ShapeOfTheEarth.EARTH_MODEL_ASSUMED_SPHERICAL_WITH_RADIUS_OF_6371200_M);
		addEEnumLiteral(shapeOfTheEarthEEnum, ShapeOfTheEarth.EARTH_REPRESENTED_BY_THE_ORDNANCE_SURVEY_GREAT_BRITAIN);
		addEEnumLiteral(shapeOfTheEarthEEnum, ShapeOfTheEarth.MISSING);

		initEEnum(gridPointPositionEEnum, GridPointPosition.class, "GridPointPosition"); //$NON-NLS-1$
		addEEnumLiteral(gridPointPositionEEnum, GridPointPosition.GRID_POINTS_AT_TRIANGLE_VERTICES);
		addEEnumLiteral(gridPointPositionEEnum, GridPointPosition.GRID_POINTS_AT_CENTRES_OF_TRIANGLES);
		addEEnumLiteral(gridPointPositionEEnum, GridPointPosition.GRID_POINTS_AT_MID_POINTS_OF_TRIANGLE_SIDES);
		addEEnumLiteral(gridPointPositionEEnum, GridPointPosition.MISSING);

		initEEnum(interpretationOfListOfNumbersAtEndOfSection3EEnum, InterpretationOfListOfNumbersAtEndOfSection3.class, "InterpretationOfListOfNumbersAtEndOfSection3"); //$NON-NLS-1$
		addEEnumLiteral(interpretationOfListOfNumbersAtEndOfSection3EEnum, InterpretationOfListOfNumbersAtEndOfSection3.NO_APPENDED_LIST);
		addEEnumLiteral(interpretationOfListOfNumbersAtEndOfSection3EEnum, InterpretationOfListOfNumbersAtEndOfSection3.FULL_COORDINATE_CIRCLES);
		addEEnumLiteral(interpretationOfListOfNumbersAtEndOfSection3EEnum, InterpretationOfListOfNumbersAtEndOfSection3.COORDINATE_LINES);
		addEEnumLiteral(interpretationOfListOfNumbersAtEndOfSection3EEnum, InterpretationOfListOfNumbersAtEndOfSection3.ACTUAL_LATITUDES_FOR_EACH_ROW);
		addEEnumLiteral(interpretationOfListOfNumbersAtEndOfSection3EEnum, InterpretationOfListOfNumbersAtEndOfSection3.MISSING);

		initEEnum(physicalMeaningOfVerticalCoordinateEEnum, PhysicalMeaningOfVerticalCoordinate.class, "PhysicalMeaningOfVerticalCoordinate"); //$NON-NLS-1$
		addEEnumLiteral(physicalMeaningOfVerticalCoordinateEEnum, PhysicalMeaningOfVerticalCoordinate.TEMPERATURE);
		addEEnumLiteral(physicalMeaningOfVerticalCoordinateEEnum, PhysicalMeaningOfVerticalCoordinate.PRESSURE);
		addEEnumLiteral(physicalMeaningOfVerticalCoordinateEEnum, PhysicalMeaningOfVerticalCoordinate.PRESSURE_DEVIATION_FROM_MEAN_SEA_LEVEL);
		addEEnumLiteral(physicalMeaningOfVerticalCoordinateEEnum, PhysicalMeaningOfVerticalCoordinate.ALTITUDE_ABOVE_MEAN_SEA_LEVEL);
		addEEnumLiteral(physicalMeaningOfVerticalCoordinateEEnum, PhysicalMeaningOfVerticalCoordinate.HEIGHT_ABOVE_GROUND);
		addEEnumLiteral(physicalMeaningOfVerticalCoordinateEEnum, PhysicalMeaningOfVerticalCoordinate.SIGMA_COORDINATE);
		addEEnumLiteral(physicalMeaningOfVerticalCoordinateEEnum, PhysicalMeaningOfVerticalCoordinate.HYBRID_COORDINATE);
		addEEnumLiteral(physicalMeaningOfVerticalCoordinateEEnum, PhysicalMeaningOfVerticalCoordinate.DEPTH_BELOW_LAND_SURFACE);
		addEEnumLiteral(physicalMeaningOfVerticalCoordinateEEnum, PhysicalMeaningOfVerticalCoordinate.POTENTIAL_TEMPERATURE);
		addEEnumLiteral(physicalMeaningOfVerticalCoordinateEEnum, PhysicalMeaningOfVerticalCoordinate.PRESSURE_DEVIATION);
		addEEnumLiteral(physicalMeaningOfVerticalCoordinateEEnum, PhysicalMeaningOfVerticalCoordinate.POTENTIEL_VORTICITY);
		addEEnumLiteral(physicalMeaningOfVerticalCoordinateEEnum, PhysicalMeaningOfVerticalCoordinate.GEOMETRICAL_HEIGHT);
		addEEnumLiteral(physicalMeaningOfVerticalCoordinateEEnum, PhysicalMeaningOfVerticalCoordinate.ETA_COORDINATE);
		addEEnumLiteral(physicalMeaningOfVerticalCoordinateEEnum, PhysicalMeaningOfVerticalCoordinate.GEOPOTENTIAL_HEIGHT);
		addEEnumLiteral(physicalMeaningOfVerticalCoordinateEEnum, PhysicalMeaningOfVerticalCoordinate.LOGARITHMIC_HYBRID_COORDINATE);
		addEEnumLiteral(physicalMeaningOfVerticalCoordinateEEnum, PhysicalMeaningOfVerticalCoordinate.DEPTH_BELOW_SEA_LEVEL);
		addEEnumLiteral(physicalMeaningOfVerticalCoordinateEEnum, PhysicalMeaningOfVerticalCoordinate.MISSING);

		initEEnum(typeOfHorizontalLineEEnum, TypeOfHorizontalLine.class, "TypeOfHorizontalLine"); //$NON-NLS-1$
		addEEnumLiteral(typeOfHorizontalLineEEnum, TypeOfHorizontalLine.RHUMB);
		addEEnumLiteral(typeOfHorizontalLineEEnum, TypeOfHorizontalLine.GREAT_CIRCLE);
		addEEnumLiteral(typeOfHorizontalLineEEnum, TypeOfHorizontalLine.MISSING);

		initEEnum(verticalDimensionCoordinateValuesDefinitionEEnum, VerticalDimensionCoordinateValuesDefinition.class, "VerticalDimensionCoordinateValuesDefinition"); //$NON-NLS-1$
		addEEnumLiteral(verticalDimensionCoordinateValuesDefinitionEEnum, VerticalDimensionCoordinateValuesDefinition.EXPLICIT_COORDINATE_VALUES_SET);
		addEEnumLiteral(verticalDimensionCoordinateValuesDefinitionEEnum, VerticalDimensionCoordinateValuesDefinition.LINEAR_COORDINATES);
		addEEnumLiteral(verticalDimensionCoordinateValuesDefinitionEEnum, VerticalDimensionCoordinateValuesDefinition.GEOMETRIC_COORDINATES);
		addEEnumLiteral(verticalDimensionCoordinateValuesDefinitionEEnum, VerticalDimensionCoordinateValuesDefinition.MISSING);

		initEEnum(resolutionAndComponentFlagsEEnum, ResolutionAndComponentFlags.class, "ResolutionAndComponentFlags"); //$NON-NLS-1$
		addEEnumLiteral(resolutionAndComponentFlagsEEnum, ResolutionAndComponentFlags.IDIRECTION_INCREMENTS);
		addEEnumLiteral(resolutionAndComponentFlagsEEnum, ResolutionAndComponentFlags.JDIRECTION_INCREMENTS);
		addEEnumLiteral(resolutionAndComponentFlagsEEnum, ResolutionAndComponentFlags.RESOLVED_UAND_VCOMPONENTS);

		initEEnum(scanningModeEEnum, ScanningMode.class, "ScanningMode"); //$NON-NLS-1$
		addEEnumLiteral(scanningModeEEnum, ScanningMode.ISCAN_DIRECTION);
		addEEnumLiteral(scanningModeEEnum, ScanningMode.JSCAN_DIRECTION);
		addEEnumLiteral(scanningModeEEnum, ScanningMode.CONSECUTIF_ADJACENT_POINTS_DIRECTION);
		addEEnumLiteral(scanningModeEEnum, ScanningMode.ROWS_SCAN_DIRECTION);

		initEEnum(projectionCentreEEnum, ProjectionCentre.class, "ProjectionCentre"); //$NON-NLS-1$
		addEEnumLiteral(projectionCentreEEnum, ProjectionCentre.USED_POLE);
		addEEnumLiteral(projectionCentreEEnum, ProjectionCentre.NUMBER_OF_CENTRES);

		initEEnum(spectralDataRepresentationTypeEEnum, SpectralDataRepresentationType.class, "SpectralDataRepresentationType"); //$NON-NLS-1$
		addEEnumLiteral(spectralDataRepresentationTypeEEnum, SpectralDataRepresentationType.SPECTRAL_DATA_REPRESENTATION_TYPE_1);

		initEEnum(spectralDataRepresentationModeEEnum, SpectralDataRepresentationMode.class, "SpectralDataRepresentationMode"); //$NON-NLS-1$
		addEEnumLiteral(spectralDataRepresentationModeEEnum, SpectralDataRepresentationMode.SPECTRAL_DATA_REPRESENTATION_MODE_1);
		addEEnumLiteral(spectralDataRepresentationModeEEnum, SpectralDataRepresentationMode.MISSING);

		initEEnum(numberingOrderOfDiamondsAsSeenFromTheCorrespondingPoleEEnum, NumberingOrderOfDiamondsAsSeenFromTheCorrespondingPole.class, "NumberingOrderOfDiamondsAsSeenFromTheCorrespondingPole"); //$NON-NLS-1$
		addEEnumLiteral(numberingOrderOfDiamondsAsSeenFromTheCorrespondingPoleEEnum, NumberingOrderOfDiamondsAsSeenFromTheCorrespondingPole.ISCAN_DIRECTION);
		addEEnumLiteral(numberingOrderOfDiamondsAsSeenFromTheCorrespondingPoleEEnum, NumberingOrderOfDiamondsAsSeenFromTheCorrespondingPole.JSCAN_DIRECTION);
		addEEnumLiteral(numberingOrderOfDiamondsAsSeenFromTheCorrespondingPoleEEnum, NumberingOrderOfDiamondsAsSeenFromTheCorrespondingPole.CONSECUTIF_ADJACENT_POINTS_DIRECTION);

		// Create annotations
		// http://www.eclipse.org/emf/2002/GenModel
		createGenModelAnnotations();
	}

	/**
	 * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/GenModel</b>.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected void createGenModelAnnotations() {
		String source = "http://www.eclipse.org/emf/2002/GenModel"; //$NON-NLS-1$		
		addAnnotation
		  (getEarthShapeGridDefinition_ShapeOfTheEarth(), 
		   source, 
		   new String[] {
			 "label_en", "Shape of the Earth", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Shape of the Earth (see Code table 3.2)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getEarthShapeGridDefinition_ScaleFactorOfRadiusOfSphericalEarth(), 
		   source, 
		   new String[] {
			 "label_en", "Scale factor of radius", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scale factor of radius of spherical Earth" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getEarthShapeGridDefinition_ScaledValueOfRadiusOfSphericalEarth(), 
		   source, 
		   new String[] {
			 "label_en", "Scaled value of radius", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scaled value of radius of spherical Earth" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getEarthShapeGridDefinition_ScaleFactorOfMajorAxisOfOblateSpheroidEarth(), 
		   source, 
		   new String[] {
			 "label_en", "Scale factor of major axis", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scale factor of major axis of oblate spheroid Earth" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getEarthShapeGridDefinition_ScaledValueOfMajorAxisOfOblateSpheroidEarth(), 
		   source, 
		   new String[] {
			 "label_en", "Scaled value of major axis", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scaled value of major axis of oblate spheroid Earth" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getEarthShapeGridDefinition_ScaleFactorOfMinorAxisOfOblateSpheroidEarth(), 
		   source, 
		   new String[] {
			 "label_en", "Scale factor of minor axis", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scale factor of minor axis of oblate spheroid Earth" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getEarthShapeGridDefinition_ScaledValueOfMinorAxisOfOblateSpheroidEarth(), 
		   source, 
		   new String[] {
			 "label_en", "Scaled value of minor axis", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scaled value of minor axis of oblate spheroid Earth" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate30EClass, 
		   source, 
		   new String[] {
			 "description", "latitude/longitude (or equidistant cylindrical, or Plate Carr\u00e9e)", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where\r\nthe recommended unit of 10\u20136 degrees is not applicable to describe the extreme longitudes and latitudes, and direction\r\nincrements. For these last six descriptors, the unit is equal to the ratio of the basic angle and the subdivisions number.\r\nFor ordinary cases, zero and missing values should be coded, equivalent to respective values of 1 and 106 (10\u20136 degrees\r\nunit).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "For data on a quasi-regular grid, where all the rows or columns do not necessarily have the same number of grid points,\r\neither Ni (octets 31\u201334) or Nj (octets 35\u201338) and the corresponding Di (octets 64\u201367) or Dj (octets 68\u201371) shall be\r\ncoded with all bits set to 1 (missing). The actual number of points along each parallel or meridian shall be coded in\r\nthe octets immediately following the grid definition template (octets [xx+1]\u2013nn), as described in the description of the\r\ngrid definition section.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_3", "A quasi-regular grid is only defined for appropriate grid scanning modes. Either rows or columns, but not both\r\nsimultaneously, may have variable numbers of points or variable spacing. The first point in each row (column) shall be\r\npositioned at the meridian (parallel) indicated by octets 47\u201354. The grid points shall be evenly spaced in latitude\r\n(longitude).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_4", "A scaled value of radius of spherical Earth, or major or minor axis of oblate spheroid Earth is derived from applying the\r\nappropriate scale factor to the value expressed in metres.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_5", "It is recommended to use unsigned direction increments." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate30_NumberOfPointsAlongAParallel(), 
		   source, 
		   new String[] {
			 "label_en", "Ni", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of points along a parallel" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate30_NumberOfPointsAlongAMeridian(), 
		   source, 
		   new String[] {
			 "label_en", "Nj", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of points along a meridian" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate30_BasicAngleOfTheInitialProductionDomain(), 
		   source, 
		   new String[] {
			 "label_en", "Basic angle of the initial production domain", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Basic angle of the initial production domain (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate30_SubdivisionsOfBasicAngle(), 
		   source, 
		   new String[] {
			 "label_en", "Subdivisions of basic angle", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Subdivisions of basic angle used to define extreme longitudes and latitudes, and direction\r\nincrements (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate30_LatitudeOfFirstGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "La1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of first grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate30_LongitudeOfFirstGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "Lo1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of first grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate30_ResolutionAndComponentFlags(), 
		   source, 
		   new String[] {
			 "label_en", "Resolution and component flags", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Resolution and component flags (see Flag table 3.3)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate30_LatitudeOfLastGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "La2", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of Last grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate30_LongitudeOfLastGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "Lo2", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of last grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate30_IDirectionIncrement(), 
		   source, 
		   new String[] {
			 "label_en", "Di", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "i direction increment (see Notes 1 and 5)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate30_JDirectionIncrement(), 
		   source, 
		   new String[] {
			 "label_en", "Dj", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "j direction increment (see Notes 1 and 5)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate30_ScanningMode(), 
		   source, 
		   new String[] {
			 "label_en", "Scanning mode", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scanning mode (flags \u2013 see Flag table 3.4)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate30_ListOfNumberOfPointsOffset(), 
		   source, 
		   new String[] {
			 "label_en", "List of number of points offset", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Offset of the list of number of points along each meridian or parallel. (These octets are only present for\r\nquasi-regular grids as described in Notes 2 and 3)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate31EClass, 
		   source, 
		   new String[] {
			 "description", "rotated latitude/longitude (or equidistant cylindrical, or Plate Carr\u00e9e)", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where\r\nthe recommended unit of 10\u20136 degrees is not applicable to describe the extreme longitudes and latitudes, and direction\r\nincrements. For these last six descriptors, the unit is equal to the ratio of the basic angle and the subdivisions number.\r\nFor ordinary cases, zero and missing values should be coded, equivalent to respective values of 1 and 106 (10\u20136 degrees\r\nunit).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "Three parameters define a general latitude/longitude coordinate system, formed by a general rotation of the sphere. One\r\nchoice for these parameters is:\r\n(a) The geographic latitude in degrees of the southern pole of the coordinate system, \u03b8p for example;\r\n(b) The geographic longitude in degrees of the southern pole of the coordinate system, \u03bbp for example;\r\n(c) The angle of rotation in degrees about the new polar axis (measured clockwise when looking from the southern to\r\nthe northern pole) of the coordinate system, assuming the new axis to have been obtained by first rotating the\r\nsphere through \u03bbp degrees about the geographic polar axis, and then rotating through (90 + \u03b8p) degrees so that\r\nthe southern pole moved along the (previously rotated) Greenwich meridian.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_3", "See Note 3 under grid definition template 3.0." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31_LatitudeOfSouthernPoleOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Latitude of the southern pole of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of the southern pole of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31_LongitudeOfSouthernPoleOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Longitude of the southern pole of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of the southern pole of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31_AngleOfRotationOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Angle of rotation of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Angle of rotation of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate32EClass, 
		   source, 
		   new String[] {
			 "description", "stretched latitude/longitude (or equidistant cylindrical, or Plate Carr\u00e9e)", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where\r\nthe recommended unit of 10\u20136 degrees is not applicable to describe the extreme longitudes and latitudes, and direction\r\nincrements. For these last six descriptors, the unit is equal to the ratio of the basic angle and the subdivisions number.\r\nFor ordinary cases, zero and missing values should be coded, equivalent to respective values of 1 and 106 (10\u20136 degrees\r\nunit).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "The stretching is defined by three parameters:\r\n(a) The latitude in degrees (measured in the model coordinate system) of the \u201cpole of stretching\u201d;\r\n(b) The longitude in degrees (measured in the model coordinate system) of the \u201cpole of stretching\u201d; and\r\n(c) The stretching factor C in units of 10\u20136 represented as an integer.\r\nThe stretching is defined by representing data uniformly in a coordinate system with longitude \u03bb\uf020 and latitude \u03b81, where:\r\n\t\t      (1 \u2013 C\u00b2) + (1 + C\u00b2) sin \u03b8\r\n\u03b81 = sin\u20131( ------------------------)\r\n\t\t      (1 + C\u00b2) + (1 \u2013 C\u00b2) sin \u03b8\r\nand \u03bb\uf020 and \u03b8 \uf020are longitude and latitude in a coordinate system in which the \u201cpole of stretching\u201d is the northern pole.\r\nC = 1 gives uniform resolution, while C > 1 gives enhanced resolution around the pole of stretching.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_3", "See Note 3 under grid definition template 3.0." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate32_LatitudeOfThePoleOfStretching(), 
		   source, 
		   new String[] {
			 "label_en", "Latitude of the pole of stretching", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of the pole of stretching" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate32_LongitudeOfThePoleOfStretching(), 
		   source, 
		   new String[] {
			 "label_en", "Longitude of the pole of stretching", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of the pole of stretching" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate32_StretchingFactor(), 
		   source, 
		   new String[] {
			 "label_en", "Stretching factor", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Stretching factor" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate33EClass, 
		   source, 
		   new String[] {
			 "description", "stretched and rotated latitude/longitude (or equidistant cylindrical, or Plate Carr\u00e9e)", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where\r\nthe recommended unit of 10\u20136 degrees is not applicable to describe the extreme longitudes and latitudes, and direction\r\nincrements. For these last six descriptors, the unit is equal to the ratio of the basic angle and the subdivisions number.\r\nFor ordinary cases, zero and missing values should be coded, equivalent to respective values of 1 and 106 (10\u20136 degrees\r\nunit).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "See Note 2 under grid definition template 3.1 \u2013 rotated latitude/longitude (or equidistant cylindrical, or Plate Carr\u00e9e).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_3", "See Note 2 under grid definition template 3.2 \u2013 stretched latitude/longitude (or equidistant cylindrical, or Plate Carr\u00e9e).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_4", "See Note 3 under grid definition template 3.0." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate33_LatitudeOfSouthernPoleOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Latitude of the southern pole of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of the southern pole of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate33_LongitudeOfSouthernPoleOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Longitude of the southern pole of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of the southern pole of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate33_AngleOfRotationOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Angle of rotation of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Angle of rotation of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate33_LatitudeOfThePoleOfStretching(), 
		   source, 
		   new String[] {
			 "label_en", "Latitude of the pole of stretching", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of the pole of stretching" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate33_LongitudeOfThePoleOfStretching(), 
		   source, 
		   new String[] {
			 "label_en", "Longitude of the pole of stretching", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of the pole of stretching" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate33_StretchingFactor(), 
		   source, 
		   new String[] {
			 "label_en", "Stretching factor", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Stretching factor" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate34EClass, 
		   source, 
		   new String[] {
			 "description", "variable resolution latitude/longitude", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases\r\nwhere the recommended unit of 10\u20136 degrees is not applicable to describe the longitudes and latitudes. For these\r\ndescriptors, the unit is equal to the ratio of the basic angle and the subdivisions number.\r\nFor ordinary cases, zero and missing values should be coded, equivalent to the respective values of 1 and 106 (10\u20136\r\ndegrees unit).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "The resolution flag (bit 3\u20134 of Flag table 3.3) is not applicable.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_3", "The list of Ni longitudes and Nj latitudes shall be coded in the octets immediately following the grid definition\r\ntemplate in octets 49 to ii and octets ii+1 to jj respectively, where ii = 48 + 4Ni and jj = 48 + 4Ni + 4Nj.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_4", "A scaled value of radius of spherical Earth, or major or minor axis of oblate spheroid Earth is derived from applying\r\nappropriate scale factor to the value expressed in metres." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate34_NumberOfPointsAlongAParallel(), 
		   source, 
		   new String[] {
			 "label_en", "Ni", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of points along a parallel" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate34_NumberOfPointsAlongAMeridian(), 
		   source, 
		   new String[] {
			 "label_en", "Nj", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of points along a meridian" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate34_BasicAngleOfTheInitialProductionDomain(), 
		   source, 
		   new String[] {
			 "label_en", "Basic angle of the initial production domain", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Basic angle of the initial production domain (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate34_SubdivisionsOfBasicAngle(), 
		   source, 
		   new String[] {
			 "label_en", "Subdivisions of basic angle", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Subdivisions of basic angle used to define extreme longitudes and latitudes, and direction\r\nincrements (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate34_ResolutionAndComponentFlags(), 
		   source, 
		   new String[] {
			 "label_en", "Resolution and component flags", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Resolution and component flags (see Flag table 3.3)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate34_ScanningMode(), 
		   source, 
		   new String[] {
			 "label_en", "Scanning mode", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scanning mode (flags \u2013 see Flag table 3.4)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate34_ListOfLongitudeOffset(), 
		   source, 
		   new String[] {
			 "label_en", "List of longitudes offset", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Offset of the list of longitudes (see Notes 1 and 3)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate34_ListOfLatitudeOffset(), 
		   source, 
		   new String[] {
			 "label_en", "List of latitudes offset", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Offset of the list of latitudes (see Notes 1 and 3)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate35EClass, 
		   source, 
		   new String[] {
			 "description", "variable resolution rotated latitude/longitude", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases\r\nwhere the recommended unit of 10\u20136 degrees is not applicable to describe the longitudes and latitudes. For these\r\ndescriptors, the unit is equal to the ratio of the basic angle and the subdivisions number.\r\nFor ordinary cases, zero and missing values should be coded, equivalent to the respective values of 1 and 106 (10\u20136\r\ndegrees unit).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "Three parameters define a general latitude/longitude coordinate system, formed by a general rotation of the sphere.\r\nOne choice for these parameters is:\r\n(a) The geographic latitude in degrees of the southern pole of the coordinate system, e.g., \u03b8p;\r\n(b) The geographic longitude in degrees of the southern pole of the coordinate system, e.g., \u03bbp;\r\n(c) The angle of rotation in degrees about the new polar axis (measured clockwise when looking from the southern\r\nto the northern pole) of the coordinate system, assuming the new axis to have been obtained by first rotating\r\nthe sphere through \u03bbp degrees about the geographic polar axis, and then rotating through (90 + \u03b8p) degrees so\r\nthat the southern pole moved along the (previously rotated) Greenwich meridian.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_3", "For the list of Ni longitude bounds and Nj latitude bounds at the end of the section:\r\nii = 60 + 4Ni and jj = 60 + 4Ni +4Nj", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_4", "Regulation 92.1.6 applies." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate35_LatitudeOfSouthernPoleOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Latitude of the southern pole of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of the southern pole of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate35_LongitudeOfSouthernPoleOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Longitude of the southern pole of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of the southern pole of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate35_AngleOfRotationOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Angle of rotation of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Angle of rotation of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate310EClass, 
		   source, 
		   new String[] {
			 "description", "Mercator", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "Limited to the range of 0 to 90 degrees; if the angle of orientation of the grid is neither 0 nor 90 degrees, Di and Dj must\r\nbe equal to each other.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "Grid lengths are in units of 10\u20133 m, at the latitude specified by LaD.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_3", "A scaled value of radius of spherical Earth, or major or minor axis of oblate spheroid Earth, is derived by applying the\r\nappropriate scale factor to the value expressed in metres." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate310_NumberOfPointsAlongAParallel(), 
		   source, 
		   new String[] {
			 "label_en", "Ni", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of points along a parallel" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate310_NumberOfPointsAlongAMeridian(), 
		   source, 
		   new String[] {
			 "label_en", "Nj", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of points along a meridian" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate310_LatitudeOfFirstGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "La1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of first grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate310_LongitudeOfFirstGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "Lo1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of first grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate310_ResolutionAndComponentFlags(), 
		   source, 
		   new String[] {
			 "label_en", "Resolution and component flags", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Resolution and component flags (see Flag table 3.3)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate310_LatitudeOfMercatorProjectionIntersectionWithEarth(), 
		   source, 
		   new String[] {
			 "label_en", "LaD", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude(s) at which the Mercator projection intersects the Earth (Latitude(s) where Di\r\nand Dj are specified)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate310_LatitudeOfLastGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "La2", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of Last grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate310_LongitudeOfLastGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "Lo2", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of last grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate310_ScanningMode(), 
		   source, 
		   new String[] {
			 "label_en", "Scanning mode", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scanning mode (flags \u2013 see Flag table 3.4)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate310_OrientationOfTheGrid(), 
		   source, 
		   new String[] {
			 "label_en", "Orientation of the grid", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Angle between i direction on the map and the Equator (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate310_LongitudinalDirectionGridLength(), 
		   source, 
		   new String[] {
			 "label_en", "Di", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitudinal direction grid length (see Note 2)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate310_LatitudinalDirectionGridLength(), 
		   source, 
		   new String[] {
			 "label_en", "Dj", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitudinal direction grid length (see Note 2)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate310_ListOfNumberOfPointsOffset(), 
		   source, 
		   new String[] {
			 "label_en", "List of number of points offset", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "List of number of points along each meridian or parallel. (These octets are only present for\r\nquasi-regular grids as described in Notes 2 and 3 of Grid definition template 3.1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate312EClass, 
		   source, 
		   new String[] {
			 "description", "transverse Mercator" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate312_NumberOfPointsAlongAParallel(), 
		   source, 
		   new String[] {
			 "label_en", "Ni", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of points along a parallel" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate312_NumberOfPointsAlongAMeridian(), 
		   source, 
		   new String[] {
			 "label_en", "Nj", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of points along a meridian" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate312_GeographicLatitudeOfReferencePoint(), 
		   source, 
		   new String[] {
			 "label_en", "LaR", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Geographic latitude of reference point" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate312_GeographicLongitudeOfReferencePoint(), 
		   source, 
		   new String[] {
			 "label_en", "LoR", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Geographic longitude of reference point" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate312_ResolutionAndComponentFlags(), 
		   source, 
		   new String[] {
			 "label_en", "Resolution and component flags", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Resolution and component flags (see Flag table 3.3)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate312_ScaleFactorAtReferencePoint(), 
		   source, 
		   new String[] {
			 "label_en", "m", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scale factor at reference point ratio of distance on map to distance on spheroid\r\n(IEEE 32-bit floating-point values)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate312_IDirectionCoordinateOfReferencePoint(), 
		   source, 
		   new String[] {
			 "label_en", "XR", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "False easting, i-direction coordinate of reference point in units of 10\u20132 m" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate312_JDirectionCoordinateOfReferencePoint(), 
		   source, 
		   new String[] {
			 "label_en", "YR", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "False northing, j-direction coordinate of reference point in units of 10\u20132 m" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate312_ScanningMode(), 
		   source, 
		   new String[] {
			 "label_en", "Scanning mode", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scanning mode (flags \u2013 see Flag table 3.4)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate312_IDirectionIncrementLength(), 
		   source, 
		   new String[] {
			 "label_en", "Di", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "i-direction increment length in units of 10\u20132 m" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate312_JDirectionIncrementLength(), 
		   source, 
		   new String[] {
			 "label_en", "Dj", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "j-direction increment length in units of 10\u20132 m" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate312_IDirectionCoordinateOfTheFirstGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "x1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "i-direction coordinate of the first grid point in units of 10\u20132 m" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate312_JDirectionCoordinateOfTheFirstGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "y1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "j-direction coordinate of the first grid point in units of 10\u20132 m" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate312_IDirectionCoordinateOfTheLastGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "x2", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "i-direction coordinate of the last grid point in units of 10\u20132 m" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate312_JDirectionCoordinateOfTheLastGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "y2", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "j-direction coordinate of the last grid point in units of 10\u20132 m" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate320EClass, 
		   source, 
		   new String[] {
			 "description", "polar stereographic projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "The resolution flags (bits 3\u20134 of Flag table 3.3) are not applicable.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "LoV is the longitude value of the meridian which is parallel to the y-axis (or columns of the grid) along which latitude\r\nincreases as the y-coordinate increases (the orientation longitude may or may not appear on a particular grid).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_3", "Grid length is in units of 10\u20133 m at the latitude specified by LaD.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_4", "Bit 2 of the projection flag is not applicable to the polar stereographic projection.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_5", "A scaled value of radius of spherical Earth, or major or minor axis of oblate spheroid Earth, is derived by applying the\r\nappropriate scale factor to the value expressed in metres." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate320_NumberOfPointsAlongXAxis(), 
		   source, 
		   new String[] {
			 "label_en", "Nx", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "number of points along the x-axis" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate320_NumberOfPointsAlongYAxis(), 
		   source, 
		   new String[] {
			 "label_en", "Ny", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "number of points along the y-axis" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate320_LatitudeOfFirstGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "La1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of first grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate320_LongitudeOfFirstGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "Lo1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of first grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate320_ResolutionAndComponentFlags(), 
		   source, 
		   new String[] {
			 "label_en", "Resolution and component flags", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Resolution and component flags (see Flag table 3.3)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate320_LatitudeWhereDxAndDyAreSpecified(), 
		   source, 
		   new String[] {
			 "label_en", "LaD", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude where Dx and Dy are specified" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate320_OrientationOfTheGrid(), 
		   source, 
		   new String[] {
			 "label_en", "LoV", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Orientation of the grid (see Note 2)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate320_XDirectionGridLength(), 
		   source, 
		   new String[] {
			 "label_en", "Dx", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "x-direction grid length (see Note 3)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate320_YDirectionGridLength(), 
		   source, 
		   new String[] {
			 "label_en", "Dy", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "y-direction grid length (see Note 3)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate320_ProjectionCentreFlag(), 
		   source, 
		   new String[] {
			 "label_en", "Projection centre flag", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Projection centre flag (see Flag table 3.5)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate320_ScanningMode(), 
		   source, 
		   new String[] {
			 "label_en", "Scanning mode", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scanning mode (flags \u2013 see Flag table 3.4)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate330EClass, 
		   source, 
		   new String[] {
			 "description", "Lambert conformal", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "Grid lengths are in units of 10\u20133 m, at the latitude specified by LaD.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "If Latin 1 = Latin 2, then the projection is on a tangent cone.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_3", "The resolution flags (bits 3\u20134 of Flag table 3.3) are not applicable.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_4", "LoV is the longitude value of the meridian which is parallel to the y-axis (or columns of the grid) along which latitude\r\nincreases as the y-coordinate increases (the orientation longitude may or may not appear on a particular grid).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_5", "A scaled value of radius of spherical Earth, or major or minor axis of oblate spheroid Earth, is derived by applying the\r\nappropriate scale factor to the value expressed in metres." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate330_NumberOfPointsAlongXAxis(), 
		   source, 
		   new String[] {
			 "label_en", "Nx", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "number of points along the x-axis" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate330_NumberOfPointsAlongYAxis(), 
		   source, 
		   new String[] {
			 "label_en", "Ny", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "number of points along the y-axis" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate330_LatitudeOfFirstGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "La1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of first grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate330_LongitudeOfFirstGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "Lo1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of first grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate330_ResolutionAndComponentFlags(), 
		   source, 
		   new String[] {
			 "label_en", "Resolution and component flags", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Resolution and component flags (see Flag table 3.3)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate330_LatitudeWhereDxAndDyAreSpecified(), 
		   source, 
		   new String[] {
			 "label_en", "LaD", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude where Dx and Dy are specified" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate330_LongitudeOfMeridianParallelToYAxis(), 
		   source, 
		   new String[] {
			 "label_en", "LoV", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "longitude of meridian parallel to y-axis along which latitude increases as the\r\ny-coordinate increases" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate330_XDirectionGridLength(), 
		   source, 
		   new String[] {
			 "label_en", "Dx", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "x-direction grid length (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate330_YDirectionGridLength(), 
		   source, 
		   new String[] {
			 "label_en", "Dy", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "y-direction grid length (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate330_ProjectionCentreFlag(), 
		   source, 
		   new String[] {
			 "label_en", "Projection centre flag", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Projection centre flag (see Flag table 3.5)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate330_ScanningMode(), 
		   source, 
		   new String[] {
			 "label_en", "Scanning mode", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scanning mode (flags \u2013 see Flag table 3.4)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate330_Latin1(), 
		   source, 
		   new String[] {
			 "label_en", "Latin 1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "first latitude from the pole at which the secant cone cuts the sphere" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate330_Latin2(), 
		   source, 
		   new String[] {
			 "label_en", "Latin 2", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "second latitude from the pole at which the secant cone cuts the sphere" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate330_LatitudeOfSouthernPoleOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Latitude of the southern pole of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of the southern pole of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate330_LongitudeOfSouthernPoleOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Longitude of the southern pole of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of the southern pole of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate331EClass, 
		   source, 
		   new String[] {
			 "description", "Albers equal area", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "Grid lengths are in units of 10\u20133 m, at the latitude specified by LaD.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "If Latin 1 = Latin 2, then the projection is on a tangent cone.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_3", "The resolution flags (bits 3\u20134 of Flag table 3.3) are not applicable.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_4", "LoV is the longitude value of the meridian which is parallel to the y-axis (or columns of the grid) along which latitude\r\nincreases as the y-coordinate increases (the orientation longitude may or may not appear on a particular grid).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_5", "A scaled value of radius of spherical Earth, or major or minor axis of oblate spheroid Earth, is derived by applying the\r\nappropriate scale factor to the value expressed in metres." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate331_NumberOfPointsAlongXAxis(), 
		   source, 
		   new String[] {
			 "label_en", "Nx", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "number of points along the x-axis" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate331_NumberOfPointsAlongYAxis(), 
		   source, 
		   new String[] {
			 "label_en", "Ny", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "number of points along the y-axis" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate331_LatitudeOfFirstGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "La1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of first grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate331_LongitudeOfFirstGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "Lo1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of first grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate331_ResolutionAndComponentFlags(), 
		   source, 
		   new String[] {
			 "label_en", "Resolution and component flags", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Resolution and component flags (see Flag table 3.3)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate331_LatitudeWhereDxAndDyAreSpecified(), 
		   source, 
		   new String[] {
			 "label_en", "LaD", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude where Dx and Dy are specified" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate331_LongitudeOfMeridianParallelToYAxis(), 
		   source, 
		   new String[] {
			 "label_en", "LoV", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of meridian parallel to y-axis along which latitude increases as the\r\ny-coordinate increases" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate331_XDirectionGridLength(), 
		   source, 
		   new String[] {
			 "label_en", "Dx", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "x-direction grid length (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate331_YDirectionGridLength(), 
		   source, 
		   new String[] {
			 "label_en", "Dy", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "y-direction grid length (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate331_ProjectionCentreFlag(), 
		   source, 
		   new String[] {
			 "label_en", "Projection centre flag", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Projection centre flag (see Flag table 3.5)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate331_ScanningMode(), 
		   source, 
		   new String[] {
			 "label_en", "Scanning mode", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scanning mode (flags \u2013 see Flag table 3.4)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate331_Latin1(), 
		   source, 
		   new String[] {
			 "label_en", "Latin 1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "First latitude from the pole at which the secant cone cuts the sphere" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate331_Latin2(), 
		   source, 
		   new String[] {
			 "label_en", "Latin 2", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Second latitude from the pole at which the secant cone cuts the sphere" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate331_LatitudeOfSouthernPoleOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Latitude of the southern pole of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of the southern pole of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate331_LongitudeOfSouthernPoleOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Longitude of the southern pole of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of the southern pole of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate340EClass, 
		   source, 
		   new String[] {
			 "description", "Gaussian latitude/longitude", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where\r\nthe recommended unit of 10\u20136 degrees is not applicable to describe the extreme longitudes and latitudes, and direction\r\nincrements. For these last six descriptors, the unit is equal to the ratio of the basic angle and the subdivisions number.\r\nFor ordinary cases, zero and missing values should be coded, equivalent to respective values of 1 and 106 (10\u20136 degrees\r\nunit).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "The number of parallels between a pole and the Equator is used to establish the variable (Gaussian) spacing of the\r\nparallels; this value must always be given.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_3", "A scaled value of radius of spherical Earth, or major or minor axis of oblate spheroid Earth, is derived by applying the\r\nappropriate scale factor to the value expressed in metres.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_4", "A quasi-regular grid is only defined for appropriate grid scanning modes. Either rows or columns, but not both\r\nsimultaneously, may have variable numbers of points. The first point in each row (column) shall be positioned at the\r\nmeridian (parallel) indicated by octets 47\u201354. The grid points shall be evenly spaced in latitude (longitude).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_5", "It is recommended to use unsigned direction increments." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate340_NumberOfPointsAlongAParallel(), 
		   source, 
		   new String[] {
			 "label_en", "Ni", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of points along a parallel" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate340_NumberOfPointsAlongAMeridian(), 
		   source, 
		   new String[] {
			 "label_en", "Nj", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of points along a meridian" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate340_BasicAngleOfTheInitialProductionDomain(), 
		   source, 
		   new String[] {
			 "label_en", "Basic angle of the initial production domain", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Basic angle of the initial production domain (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate340_SubdivisionsOfBasicAngle(), 
		   source, 
		   new String[] {
			 "label_en", "Subdivisions of basic angle", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Subdivisions of basic angle used to define extreme longitudes and latitudes, and direction\r\nincrements (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate340_LatitudeOfFirstGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "La1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of first grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate340_LongitudeOfFirstGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "Lo1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of first grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate340_ResolutionAndComponentFlags(), 
		   source, 
		   new String[] {
			 "label_en", "Resolution and component flags", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Resolution and component flags (see Flag table 3.3)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate340_LatitudeOfLastGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "La2", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of Last grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate340_LongitudeOfLastGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "Lo2", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of last grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate340_IDirectionIncrement(), 
		   source, 
		   new String[] {
			 "label_en", "Di", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "i direction increment (see Notes 1 and 5)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate340_NumberOfParallelsBetweenAPoleAndTheEquator(), 
		   source, 
		   new String[] {
			 "label_en", "N", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of parallels between a pole and the Equator (see Note 2)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate340_ScanningMode(), 
		   source, 
		   new String[] {
			 "label_en", "Scanning mode", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scanning mode (flags \u2013 see Flag table 3.4)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate340_ListOfNumberOfPointsOffset(), 
		   source, 
		   new String[] {
			 "label_en", "List of number offset", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Offset of the list of number of points along each meridian or parallel. (These octets are only present for\r\nquasi-regular grids as described in Note 4)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate341EClass, 
		   source, 
		   new String[] {
			 "description", "rotated Gaussian latitude/longitude", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where the\r\nrecommended unit of 10\u20136 degrees is not applicable to describe the extreme longitudes and latitudes, and direction\r\nincrements. For these last six descriptors, the unit is equal to the ratio of the basic angle and the subdivisions number.\r\nFor ordinary cases, zero and missing values should be coded, equivalent to respective values of 1 and 106 (10\u20136 degrees\r\nunit).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "The number of parallels between a pole and the Equator is used to establish the variable (Gaussian) spacing of the\r\nparallels; this value must always be given.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_3", "See Note 2 under grid definition template 3.1 \u2013 rotated latitude/longitude (or equidistant cylindrical, or Plate Carr\u00e9e).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_4", "See Note 4 under grid definition template 3.40." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate341_LatitudeOfSouthernPoleOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Latitude of the southern pole of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of the southern pole of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate341_LongitudeOfSouthernPoleOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Longitude of the southern pole of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of the southern pole of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate341_AngleOfRotationOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Angle of rotation of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Angle of rotation of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate342EClass, 
		   source, 
		   new String[] {
			 "description", "stretched Gaussian latitude/longitude", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where the\r\nrecommended unit of 10\u20136 degrees is not applicable to describe the extreme longitudes and latitudes, and direction\r\nincrements. For these last six descriptors, the unit is equal to the ratio of the basic angle and the subdivisions number.\r\nFor ordinary cases, zero and missing values should be coded, equivalent to respective values of 1 and 106 (10\u20136 degrees\r\nunit).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "The number of parallels between a pole and the Equator is used to establish the variable (Gaussian) spacing of the\r\nparallels; this value must always be given.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_3", "See Note 2 under grid definition template 3.2 \u2013 stretched latitude/longitude (or equidistant cylindrical, or Plate Carr\u00e9e).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_4", "See Note 4 under grid definition template 3.40." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate342_LatitudeOfThePoleOfStretching(), 
		   source, 
		   new String[] {
			 "label_en", "Latitude of the pole of stretching", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of the pole of stretching" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate342_LongitudeOfThePoleOfStretching(), 
		   source, 
		   new String[] {
			 "label_en", "Longitude of the pole of stretching", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of the pole of stretching" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate342_StretchingFactor(), 
		   source, 
		   new String[] {
			 "label_en", "Stretching factor", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Stretching factor" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate343EClass, 
		   source, 
		   new String[] {
			 "description", "stretched and rotated Gaussian latitude/longitude", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where the\r\nrecommended unit of 10\u20136 degrees is not applicable to describe the extreme longitudes and latitudes, and direction\r\nincrements. For these last six descriptors, the unit is equal to the ratio of the basic angle and the subdivisions number.\r\nFor ordinary cases, zero and missing values should be coded, equivalent to respective values of 1 and 106 (10\u20136 degrees\r\nunit).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "The number of parallels between a pole and the Equator is used to establish the variable (Gaussian) spacing of the\r\nparallels; this value must always be given.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_3", "See Note 2 under grid definition template 3.2 \u2013 stretched latitude/longitude (or equidistant cylindrical, or Plate Carr\u00e9e).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_4", "See Note 2 under grid definition template 3.1 \u2013 rotated latitude/longitude (or equidistant cylindrical, or Plate Carr\u00e9e).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_5", "See Note 4 under grid definition template 3.40." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate343_LatitudeOfSouthernPoleOfProjection(), 
		   source, 
		   new String[] {
			 "latitudeOfSouthernPoleOfProjection_label", "Latitude of the southern pole of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of the southern pole of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate343_LongitudeOfSouthernPoleOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Longitude of the southern pole of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of the southern pole of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate343_AngleOfRotationOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Angle of rotation of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Angle of rotation of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate343_LatitudeOfThePoleOfStretching(), 
		   source, 
		   new String[] {
			 "label_en", "Latitude of the pole of stretching", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of the pole of stretching" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate343_LongitudeOfThePoleOfStretching(), 
		   source, 
		   new String[] {
			 "label_en", "Longitude of the pole of stretching", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of the pole of stretching" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate343_StretchingFactor(), 
		   source, 
		   new String[] {
			 "label_en", "Stretching factor", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Stretching factor" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate350EClass, 
		   source, 
		   new String[] {
			 "description", "spherical harmonic coefficients", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "The pentagonal representation of resolution is general. Some common truncations are special cases of the pentagonal\r\none:\r\nTriangular: M = J = K\r\nRhomboidal: K = J + M\r\nTrapezoidal: K = J, K > M" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate350_JPentagonalResolutionParameter(), 
		   source, 
		   new String[] {
			 "label_en", "J", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "J \u2013 pentagonal resolution parameter" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate350_KPentagonalResolutionParameter(), 
		   source, 
		   new String[] {
			 "label_en", "K", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "K \u2013 pentagonal resolution parameter" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate350_MPentagonalResolutionParameter(), 
		   source, 
		   new String[] {
			 "label_en", "M", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "M \u2013 pentagonal resolution parameter" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate350_RepresentationType(), 
		   source, 
		   new String[] {
			 "label_en", "Representation type", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Representation type indicating the method used to define the norm (see Code table 3.6)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate350_RepresentationMode(), 
		   source, 
		   new String[] {
			 "label_en", "Representation mode", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Representation mode indicating the order of the coefficients (see Code table 3.7)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate351EClass, 
		   source, 
		   new String[] {
			 "description", "rotated spherical harmonic coefficients", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "See the Note under grid definition template 3.50 \u2013 spherical harmonic coefficients.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "See Note 2 under grid definition template 3.1 \u2013 rotated latitude/longitude (or equidistant cylindrical, or Plate Carr\u00e9e)." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate351_LatitudeOfSouthernPoleOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Latitude of the southern pole of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of the southern pole of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate351_LongitudeOfSouthernPoleOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Longitude of the southern pole of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of the southern pole of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate351_AngleOfRotationOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Angle of rotation of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Angle of rotation of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate352EClass, 
		   source, 
		   new String[] {
			 "description", "stretched spherical harmonic coefficients", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "See the Note under grid definition template 3.50 \u2013 spherical harmonic coefficients.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "See Note 2 under grid definition template 3.2 \u2013 stretched latitude/longitude (or equidistant cylindrical, or Plate Carr\u00e9e)." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate352_LatitudeOfThePoleOfStretching(), 
		   source, 
		   new String[] {
			 "label_en", "Latitude of the pole of stretching", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of the pole of stretching" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate352_LongitudeOfThePoleOfStretching(), 
		   source, 
		   new String[] {
			 "label_en", "Longitude of the pole of stretching", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of the pole of stretching" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate352_StretchingFactor(), 
		   source, 
		   new String[] {
			 "label_en", "Stretching factor", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Stretching factor" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate353EClass, 
		   source, 
		   new String[] {
			 "description", "stretched and rotated spherical harmonic coefficients", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "See the Note under grid definition template 3.50 \u2013 spherical harmonic coefficients.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "See Note 2 under grid definition template 3.1 \u2013 rotated latitude/longitude (or equidistant cylindrical, or Plate Carr\u00e9e).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_3", "See Note 2 under grid definition template 3.2 \u2013 stretched latitude/longitude (or equidistant cylindrical, or Plate Carr\u00e9e)." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate353_LatitudeOfSouthernPoleOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Latitude of the southern pole of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of the southern pole of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate353_LongitudeOfSouthernPoleOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Longitude of the southern pole of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of the southern pole of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate353_AngleOfRotationOfProjection(), 
		   source, 
		   new String[] {
			 "label_en", "Angle of rotation of projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Angle of rotation of projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate353_LatitudeOfThePoleOfStretching(), 
		   source, 
		   new String[] {
			 "label_en", "Latitude of the pole of stretching", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of the pole of stretching" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate353_LongitudeOfThePoleOfStretching(), 
		   source, 
		   new String[] {
			 "label_en", "Longitude of the pole of stretching", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of the pole of stretching" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate353_StretchingFactor(), 
		   source, 
		   new String[] {
			 "label_en", "Stretching factor", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Stretching factor" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate390EClass, 
		   source, 
		   new String[] {
			 "description", "space view perspective or orthographic", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "It is assumed that the satellite is at its nominal position, i.e. it is looking directly at its sub-satellite point.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "Octets 69\u201372 shall be set to all ones (missing) to indicate the orthographic view (from infinite distance).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_3", "It is the angle between the increasing y-axis and the meridian 180\u00b0E if the sub-satellite point is the North Pole; or the\r\nmeridian 0\u00b0 if the sub-satellite point is the South Pole.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_4", "The apparent angular size of the Earth will be given by 2 x \uf020arcsin ((106)/Nr).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_5", "For orthographic view from infinite distance, the value of Nr should be encoded as missing (all bits set to 1).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_6", "The horizontal and vertical angular resolutions of the sensor (Rx and Ry), needed for navigation equation, can be\r\ncalculated from the following:\r\nRx = 2 x \uf020arcsin ((106)/Nr)/dx\r\nRy = 2 x \uf020arcsin ((106)/Nr)/dy", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_7", "A scaled value of radius of spherical Earth, or major or minor axis of oblate spheroid Earth, is derived by applying the\r\nappropriate scale factor to the value expressed in metres.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_8", "General reference information pertaining to the projections used for satellite data can be found in Section 4.4 of \"LRIT/\r\nHRIT Global Specification\", Doc. No. CGMS 03, issue 2.6, dated 12 August 1999 (http://www.eumetsat.int/Home/Main/\r\nAboutEUMETSAT/International Relations/CGMS/groups/cps/documents/document/pdf_cgms_03.pdf, page 20 onwards)." //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate390_NumberOfPointsAlongXAxis(), 
		   source, 
		   new String[] {
			 "label_en", "Nx", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "number of points along the x-axis" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate390_NumberOfPointsAlongYAxis(), 
		   source, 
		   new String[] {
			 "label_en", "Ny", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "number of points along the y-axis" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate390_LatitudeOfSubSatellitePoint(), 
		   source, 
		   new String[] {
			 "label_en", "Lap", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of sub-satellite point" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate390_LongitudeOfSubSatellitePoint(), 
		   source, 
		   new String[] {
			 "label_en", "Lop", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of sub-satellite point" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate390_ResolutionAndComponentFlags(), 
		   source, 
		   new String[] {
			 "label_en", "Resolution and component flags", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Resolution and component flags (see Flag table 3.3)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate390_ApparentDiameterOfEarthInXDirection(), 
		   source, 
		   new String[] {
			 "label_en", "dx", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Apparent diameter of Earth in grid lengths, in x-direction" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate390_ApparentDiameterOfEarthInYDirection(), 
		   source, 
		   new String[] {
			 "label_en", "dy", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Apparent diameter of Earth in grid lengths, in y-direction" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate390_XCoordinateOfSubSatellitePoint(), 
		   source, 
		   new String[] {
			 "label_en", "Xp", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "x-coordinate of sub-satellite point (in units of 10\u20133 grid length expressed as an integer)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate390_YCoordinateOfSubSatellitePoint(), 
		   source, 
		   new String[] {
			 "label_en", "Yp", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "y-coordinate of sub-satellite point (in units of 10\u20133 grid length expressed as an integer)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate390_ScanningMode(), 
		   source, 
		   new String[] {
			 "label_en", "Scanning mode", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scanning mode (flags \u2013 see Flag table 3.4)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate390_OrientationOfTheGrid(), 
		   source, 
		   new String[] {
			 "label_en", "LoV", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Orientation of the grid; i.e. the angle between the increasing y-axis and the meridian of the\r\nsub-satellite point in the direction of increasing latitude (see Note 3)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate390_AltitudeOfTheCameraFromTheEarthCentre(), 
		   source, 
		   new String[] {
			 "label_en", "Nr", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "altitude of the camera from the Earth\u2019s centre, measured in units of the Earth\u2019s\r\n(equatorial) radius multiplied by a scale factor of 106 (see Notes 4 and 5)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate390_XCoordinateOfOriginOfSectorImage(), 
		   source, 
		   new String[] {
			 "label_en", "Xo", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "x-coordinate of origin of sector image" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate390_YCoordinateOfOriginOfSectorImage(), 
		   source, 
		   new String[] {
			 "label_en", "Yo", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "y-coordinate of origin of sector image" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate3100EClass, 
		   source, 
		   new String[] {
			 "description", "triangular grid based on an icosahedron (see Attachment, Volume I.2, Part B, Att.GRIB)", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "For more details see in Part B of this volume the Attachment entitled \u201cDefinition of a triangular grid based on an\r\nicosahedron\u201d (I.2\u2013Att.GRIB\u20131 to 8).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "The origin of the grid is an icosahedron with 20 triangles and 12 vertices. The triangles are combined to nd quadrangles,\r\nthe so-called diamonds (e.g. if nd = 10, two of the icosahedron triangles form a diamond, and if nd = 5, 4 icosahedron\r\ntriangles form a diamond). There are two resolution values called n2 and n3 describing the division of each triangle side.\r\nEach triangle side is divided into ni equal parts, where ni = 3n3 x \uf0202n2 with n3 either equal to 0 or to 1. In the example of\r\nthe Attachment, the numbering order of the rectangles is anti-clockwise with a view from the pole point on both\r\nhemispheres. Diamonds 1 to 5 are northern hemisphere and diamonds 6 to 10 are southern hemisphere.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_3", "The exponent of 3 for the number of divisions of triangle sides is used only with a value of either 0 or 1.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_4", "The total number of grid points for one global field depends on the grid point position. If e.g. the grid points are located\r\nat the vertices of the triangles, then nt = (ni + 1) x (ni + 1) x nd since grid points at diamond edges are contained in both\r\nadjacent diamonds and for the same reason the pole points are contained in each of the five adjacent diamonds." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3100_ExponentOf2(), 
		   source, 
		   new String[] {
			 "label_en", "n2", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Exponent of 2 for the number of intervals on main triangle sides" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3100_ExponentOf3(), 
		   source, 
		   new String[] {
			 "label_en", "n3", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Exponent of 3 for the number of intervals on main triangle sides" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3100_NumberOfIntervals(), 
		   source, 
		   new String[] {
			 "label_en", "ni", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of intervals on main triangle sides of the icosahedron" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3100_NumberOfDiamonds(), 
		   source, 
		   new String[] {
			 "label_en", "nd", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of diamonds" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3100_LatitudeOfThePolePoint(), 
		   source, 
		   new String[] {
			 "label_en", "Latitude of the pole point", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of the pole point of the icosahedron on the sphere" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3100_LongitudeOfThePolePoint(), 
		   source, 
		   new String[] {
			 "label_en", "Longitude of the pole point", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of the pole point of the icosahedron on the sphere" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3100_LongitudeOfTheCentreLineOfTheFirstDiamond(), 
		   source, 
		   new String[] {
			 "label_en", "Longitude of the centre line", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of the centre line of the first diamond of the icosahedron on the sphere" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3100_GridPointPosition(), 
		   source, 
		   new String[] {
			 "label_en", "Grid point position", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Grid point position (see Code table 3.8)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3100_NumberingOrderOfDiamonds(), 
		   source, 
		   new String[] {
			 "label_en", "Numbering order of diamonds", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Numbering order of diamonds (flags \u2013 see Flag table 3.9)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3100_ScanningModeForOneDiamond(), 
		   source, 
		   new String[] {
			 "label_en", "Scanning mode for one diamond", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scanning mode for one diamond (flags \u2013 see Flag table 3.10)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3100_TotalNumberOfGridPoints(), 
		   source, 
		   new String[] {
			 "label_en", "nt", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Total number of grid points" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate3101EClass, 
		   source, 
		   new String[] {
			 "description", "general unstructured grid", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "The number given refers to a specific grid required for formulating differential operators. The grid may consist of a\r\ncentre and an arbitrary surrounding polygon. As model variables may be defined on vertices of the polygons or in\r\nthe middle of a polygon edge, this generates some different grid descriptions, because each of those is defining\r\ntheir own centre and surrounding polygon. Each of these dependent grids needs their own set of centre\r\nlongitude/latitude and the longitude/latitude of the boundary polygon vertices. The following picture shows a\r\ntriangle as base, a hexagon around the triangle\'s vertices and a quadrilateral around the edge midpoints." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3101_ShapeOfTheEarth(), 
		   source, 
		   new String[] {
			 "label_en", "Earth shape", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Shape of the Earth" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3101_NumberOfGridUsed(), 
		   source, 
		   new String[] {
			 "label_en", "Number of grid used", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of grid used (defined by originating centre)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3101_NumberOfGridInReference(), 
		   source, 
		   new String[] {
			 "label_en", "Number of grid in reference", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of grid in reference (to allow annotating for Arakawa C-grid on arbitrary grid) (see Note)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3101_UniversallyUniqueIdentifierOffset(), 
		   source, 
		   new String[] {
			 "label_en", "Horizontal grid UUI", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Universally Unique Identifier of horizontal grid" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate3110EClass, 
		   source, 
		   new String[] {
			 "description", "Equatorial azimuthal equidistant projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "A scaled value of radius of spherical Earth, or major or minor axis of oblate spheroid Earth, is derived by applying\r\nthe appropriate scale factor to the value expressed in metres." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3110_NumberOfPointsAlongXAxis(), 
		   source, 
		   new String[] {
			 "label_en", "Nx", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "number of points along the x-axis" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3110_NumberOfPointsAlongYAxis(), 
		   source, 
		   new String[] {
			 "label_en", "Ny", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "number of points along the y-axis" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3110_LatitudeOfTangencyPoint(), 
		   source, 
		   new String[] {
			 "label_en", "La1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of tangency point (centre of grid)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3110_LongitudeOfTangencyPoint(), 
		   source, 
		   new String[] {
			 "label_en", "Lo1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of tangency point" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3110_ResolutionAndComponentFlags(), 
		   source, 
		   new String[] {
			 "label_en", "Resolution and component flags", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Resolution and component flags (see Flag table 3.3)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3110_XDirectionGridLength(), 
		   source, 
		   new String[] {
			 "label_en", "Dx", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "x-direction grid length in units of 10\u20133 m as measured at the point of the axis" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3110_YDirectionGridLength(), 
		   source, 
		   new String[] {
			 "label_en", "Dy", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "y-direction grid length in units of 10\u20133 m as measured at the point of the axis" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3110_ProjectionCentreFlag(), 
		   source, 
		   new String[] {
			 "label_en", "Projection centre flag", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Projection centre flag" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3110_ScanningMode(), 
		   source, 
		   new String[] {
			 "label_en", "Scanning mode", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scanning mode (flags \u2013 see Flag table 3.4)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate3120EClass, 
		   source, 
		   new String[] {
			 "description", "azimuth-range projection", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "Note: A data bin is a data point representing the volume centred on it." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3120_NumberOfDataBinsAlongRadials(), 
		   source, 
		   new String[] {
			 "label_en", "Nb", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of data bins along radials (see Note)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3120_NumberOfRadials(), 
		   source, 
		   new String[] {
			 "label_en", "Nr", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of radials" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3120_LatitudeOfCentrePoint(), 
		   source, 
		   new String[] {
			 "label_en", "La1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of centre point" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3120_LongitudeOfCentrePoint(), 
		   source, 
		   new String[] {
			 "label_en", "Lo1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of centre point" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3120_SpacingOfBinsAlongRadials(), 
		   source, 
		   new String[] {
			 "label_en", "Dx", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Spacing of bins along radials" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3120_OffsetFromOriginToInnerBound(), 
		   source, 
		   new String[] {
			 "label_en", "Dstart", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Offset from origin to inner bound" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3120_ScanningMode(), 
		   source, 
		   new String[] {
			 "label_en", "Scanning mode", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scanning mode (flags \u2013 see Flag table 3.4)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate3120_RadialOffset(), 
		   source, 
		   new String[] {
			 "label_en", "Radials data offset", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Offset of the radials data" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate31000EClass, 
		   source, 
		   new String[] {
			 "description", "cross-section grid with points equally spaced on the horizontal", //$NON-NLS-1$ //$NON-NLS-2$
			 "note1", "Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where\r\nthe recommended unit of 10\u20136 degrees is not applicable to describe the extreme longitudes and latitudes. For these last\r\ndescriptors, the unit is equal to the ratio of the basic angle and the subdivisions number.\r\nFor ordinary cases, zero and missing values should be coded, equivalent to respective values of 1 and 106 (10\u20136\r\ndegrees unit).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note2", "A scaled value of radius of spherical Earth, or major or minor axis of oblate spheroid Earth, is derived by applying the\r\nappropriate scale factor to the value expressed in metres." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31000_NumberOfHorizontalPoints(), 
		   source, 
		   new String[] {
			 "label_en", "Number of horizontal points", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of horizontal points" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31000_BasicAngleOfTheInitialProductionDomain(), 
		   source, 
		   new String[] {
			 "label_en", "Basic angle of the initial production domain", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Basic angle of the initial production domain (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31000_SubdivisionsOfBasicAngle(), 
		   source, 
		   new String[] {
			 "label_en", "Subdivisions of basic angle", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Subdivisions of basic angle used to define extreme longitudes and latitudes, and direction\r\nincrements (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31000_LatitudeOfFirstGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "La1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of first grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31000_LongitudeOfFirstGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "Lo1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of first grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31000_ScanningMode(), 
		   source, 
		   new String[] {
			 "label_en", "Scanning mode", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scanning mode (flags \u2013 see Flag table 3.4)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31000_LatitudeOfLastGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "La2", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of Last grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31000_LongitudeOfLastGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "Lo2", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of last grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31000_TypeOfHorizontalLine(), 
		   source, 
		   new String[] {
			 "label_en", "Type of horizontal line", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Type of horizontal line (see Code table 3.20)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31000_NumberOfVerticalPoints(), 
		   source, 
		   new String[] {
			 "label_en", "Number of vertical points", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of vertical points" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31000_PhysicalMeaningOfVerticalCoordinate(), 
		   source, 
		   new String[] {
			 "label_en", "Physical meaning of vertical coordinate", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Physical meaning of vertical coordinate (see Code table 3.15)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31000_VerticalDimensionCoordinateValuesDefinition(), 
		   source, 
		   new String[] {
			 "label_en", "Vertical dimension coordinate values definition", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Vertical dimension coordinate values definition (see Code table 3.21)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31000_NumberOfCoefficients(), 
		   source, 
		   new String[] {
			 "label_en", "NC", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of coefficients or values used to specify vertical coordinates" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31000_CoefficientsOffset(), 
		   source, 
		   new String[] {
			 "label_en", "Coefficients offset", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Offset of the coefficients to define vertical dimension coordinate values in functional form, or the explicit\r\ncoordinate values (IEEE 32-bit floating-point values)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate31100EClass, 
		   source, 
		   new String[] {
			 "description", "Hovm\u00f6ller diagram grid with points equally spaced on the horizontal", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "Basic angle of the initial production domain and subdivisions of this basic angle are provided to manage cases where\r\nthe recommended unit of 10\u20136 degrees is not applicable to describe the extreme longitudes and latitudes. For these last\r\ndescriptors, the unit is equal to the ratio of the basic angle and the subdivisions number.\r\nFor ordinary cases, zero and missing values should be coded, equivalent to respective values of 1 and 106 (10\u20136\r\ndegrees unit).", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2", "A scaled value of radius of spherical Earth, or major or minor axis of oblate spheroid Earth, is derived by applying the\r\nappropriate scale factor to the value expressed in metres." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_NumberOfHorizontalPoints(), 
		   source, 
		   new String[] {
			 "label_en", "Number of horizontal points", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of horizontal points" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_BasicAngleOfTheInitialProductionDomain(), 
		   source, 
		   new String[] {
			 "label_en", "Basic angle of the initial production domain", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Basic angle of the initial production domain (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_SubdivisionsOfBasicAngle(), 
		   source, 
		   new String[] {
			 "label_en", "Subdivisions of basic angle", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Subdivisions of basic angle used to define extreme longitudes and latitudes, and direction\r\nincrements (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_LatitudeOfFirstGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "La1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of first grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_LongitudeOfFirstGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "Lo1", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of first grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_ScanningMode(), 
		   source, 
		   new String[] {
			 "label_en", "Scanning mode", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Scanning mode (flags \u2013 see Flag table 3.4)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_LatitudeOfLastGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "La2", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude of Last grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_LongitudeOfLastGridPoint(), 
		   source, 
		   new String[] {
			 "label_en", "Lo2", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Longitude of last grid point (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_TypeOfHorizontalLine(), 
		   source, 
		   new String[] {
			 "label_en", "Type of horizontal line", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Type of horizontal line (see Code table 3.20)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_NumberOfTimeSteps(), 
		   source, 
		   new String[] {
			 "label_en", "NT", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of time steps" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_UnitOfOffsetFromReferenceTime(), 
		   source, 
		   new String[] {
			 "label_en", "Unit of offset from reference time", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Unit of offset from reference time (see Code table 4.4)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_OffsetFromReferenceOfFirstTime(), 
		   source, 
		   new String[] {
			 "label_en", "Offset from reference of first time", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Offset from reference of first time (negative value when first bit set)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_TypeOfTimeIncrement(), 
		   source, 
		   new String[] {
			 "label_en", "Type of time increment", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Type of time increment (see Code table 4.11)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_UnitOfTimeIncrement(), 
		   source, 
		   new String[] {
			 "label_en", "Unit of time increment", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Unit of time increment (see Code table 4.4)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_TimeIncrement(), 
		   source, 
		   new String[] {
			 "label_en", "Time increment", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Time increment (negative value when first bit set)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_Year(), 
		   source, 
		   new String[] {
			 "label_en", "Year", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Year of last date/time" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_Month(), 
		   source, 
		   new String[] {
			 "label_en", "Month", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Month of last date/time" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_Day(), 
		   source, 
		   new String[] {
			 "label_en", "Day", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Day of last date/time" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_Hour(), 
		   source, 
		   new String[] {
			 "label_en", "Hour", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Hour of last date/time" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_Minute(), 
		   source, 
		   new String[] {
			 "label_en", "Minute", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Minute of last date/time" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31100_Second(), 
		   source, 
		   new String[] {
			 "label_en", "Seconds", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Seconds of last date/time" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplate31200EClass, 
		   source, 
		   new String[] {
			 "description", "time section grid", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1", "This template is simply experimental, was not validated at the time of publication and should be used only\r\nfor bilateral previously agreed tests." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31200_NumberOfTimeSteps(), 
		   source, 
		   new String[] {
			 "label_en", "NT", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of time steps" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31200_UnitOfOffsetFromReferenceTime(), 
		   source, 
		   new String[] {
			 "label_en", "Unit of offset from reference time", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Unit of offset from reference time (see Code table 4.4)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31200_OffsetFromReferenceOfFirstTime(), 
		   source, 
		   new String[] {
			 "label_en", "Offset from reference of first time", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Offset from reference of first time (negative value when first bit set)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31200_TypeOfTimeIncrement(), 
		   source, 
		   new String[] {
			 "label_en", "Type of time increment", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Type of time increment (see Code table 4.11)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31200_UnitOfTimeIncrement(), 
		   source, 
		   new String[] {
			 "label_en", "Unit of time increment", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Unit of time increment (see Code table 4.4)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31200_TimeIncrement(), 
		   source, 
		   new String[] {
			 "label_en", "Time increment", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Time increment (negative value when first bit set)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31200_Year(), 
		   source, 
		   new String[] {
			 "label_en", "Year", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Year of last date/time" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31200_Month(), 
		   source, 
		   new String[] {
			 "label_en", "Month", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Month of last date/time" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31200_Day(), 
		   source, 
		   new String[] {
			 "label_en", "Day", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Day of last date/time" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31200_Hour(), 
		   source, 
		   new String[] {
			 "label_en", "Hour", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Hour of last date/time" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31200_Minute(), 
		   source, 
		   new String[] {
			 "label_en", "Minute", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Minute of last date/time" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31200_Second(), 
		   source, 
		   new String[] {
			 "label_en", "Seconds", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Seconds of last date/time" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31200_NumberOfVerticalPoints(), 
		   source, 
		   new String[] {
			 "label_en", "Number of vertical points", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of vertical points" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31200_PhysicalMeaningOfVerticalCoordinate(), 
		   source, 
		   new String[] {
			 "label_en", "Physical meaning of vertical coordinate", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Physical meaning of vertical coordinate (see Code table 3.15)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31200_VerticalDimensionCoordinateValuesDefinition(), 
		   source, 
		   new String[] {
			 "label_en", "Vertical dimension coordinate values definition", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Vertical dimension coordinate values definition (see Code table 3.21)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31200_NumberOfCoefficients(), 
		   source, 
		   new String[] {
			 "label_en", "NC", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Number of coefficients or values used to specify vertical coordinates" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (getGridDefinitionTemplate31200_CoefficientsOffset(), 
		   source, 
		   new String[] {
			 "label_en", "Coefficients offset", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Offset of the coefficients to define vertical dimension coordinate values in functional form, or the explicit\r\ncoordinate values (IEEE 32-bit floating-point values)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum, 
		   source, 
		   new String[] {
			 "description_en", "Code table 3.1 \u2013 Grid definition template number" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(0), 
		   source, 
		   new String[] {
			 "comment_en", "Also called equidistant cylindrical, or Plate Carr\u00e9e", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Latitude/Longitude" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(1), 
		   source, 
		   new String[] {
			 "description_en", "Rotated latitude/longitude" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(2), 
		   source, 
		   new String[] {
			 "description_en", "Stretched latitude/longitude" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(3), 
		   source, 
		   new String[] {
			 "description_en", "Stretched and rotated latitude/longitude" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(4), 
		   source, 
		   new String[] {
			 "description_en", "Variable resolution latitude/longitude" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(5), 
		   source, 
		   new String[] {
			 "description_en", "Variable resolution rotated latitude/longitude" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(6), 
		   source, 
		   new String[] {
			 "description_en", "Mercator" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(7), 
		   source, 
		   new String[] {
			 "comment_en", "Can be south or north", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Polar stereographic projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(8), 
		   source, 
		   new String[] {
			 "comment_en", "Can be secant or tangent, conical or bipolar", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Lambert conformal" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(9), 
		   source, 
		   new String[] {
			 "description_en", "Albers equal area" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(10), 
		   source, 
		   new String[] {
			 "description_en", "Gaussian latitude/longitude" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(11), 
		   source, 
		   new String[] {
			 "description_en", "Rotated Gaussian latitude/longitude" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(12), 
		   source, 
		   new String[] {
			 "description_en", "Stretched Gaussian latitude/longitude" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(13), 
		   source, 
		   new String[] {
			 "description_en", "Stretched and rotated Gaussian latitude/longitude" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(14), 
		   source, 
		   new String[] {
			 "description_en", "Spherical harmonic coefficients" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(15), 
		   source, 
		   new String[] {
			 "description_en", "Rotated spherical harmonic coefficients" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(16), 
		   source, 
		   new String[] {
			 "description_en", "Stretched spherical harmonic coefficients" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(17), 
		   source, 
		   new String[] {
			 "description_en", "Stretched and rotated spherical harmonic coefficients" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(18), 
		   source, 
		   new String[] {
			 "description_en", "Space view perspective or orthographic" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(19), 
		   source, 
		   new String[] {
			 "description_en", "Triangular grid based on an icosahedron" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(20), 
		   source, 
		   new String[] {
			 "description_en", "Equatorial azimuthal equidistant projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(21), 
		   source, 
		   new String[] {
			 "description_en", "Azimuth-range projection" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(22), 
		   source, 
		   new String[] {
			 "description_en", "Cross-section grid with points equally spaced on the horizontal" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(23), 
		   source, 
		   new String[] {
			 "description_en", "Hovm\u00f6ller diagram grid with points equally spaced on the horizontal" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(24), 
		   source, 
		   new String[] {
			 "description_en", "Time section grid" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridDefinitionTemplateNumberEEnum.getELiterals().get(25), 
		   source, 
		   new String[] {
			 "description_en", "Missing" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (sourceOfGridDefinitionEEnum, 
		   source, 
		   new String[] {
			 "description_en", "Code table 3.0 \u2013 Source of grid definition" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (sourceOfGridDefinitionEEnum.getELiterals().get(0), 
		   source, 
		   new String[] {
			 "description_en", "Specified in Code table 3.1" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (sourceOfGridDefinitionEEnum.getELiterals().get(1), 
		   source, 
		   new String[] {
			 "comment_en", "Defined by originating centre", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Predetermined grid definition" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (sourceOfGridDefinitionEEnum.getELiterals().get(2), 
		   source, 
		   new String[] {
			 "description_en", "A grid definition does not apply to this product" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (shapeOfTheEarthEEnum, 
		   source, 
		   new String[] {
			 "description_en", "Code table 3.2 \u2013 Shape of the Earth", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1_en", "Note: WGS84 is a geodetic system that uses IAG-GRS80 as a basis." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (shapeOfTheEarthEEnum.getELiterals().get(0), 
		   source, 
		   new String[] {
			 "description_en", "Earth assumed spherical with radius = 6 367 470.0 m" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (shapeOfTheEarthEEnum.getELiterals().get(1), 
		   source, 
		   new String[] {
			 "description_en", "Earth assumed spherical with radius specified (in m) by data producer" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (shapeOfTheEarthEEnum.getELiterals().get(2), 
		   source, 
		   new String[] {
			 "description_en", "Earth assumed oblate spheroid with size as determined by IAU in 1965 \r\n(major axis = 6 378 160.0 m, minor axis = 6 356 775.0 m, f = 1/297.0)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (shapeOfTheEarthEEnum.getELiterals().get(3), 
		   source, 
		   new String[] {
			 "description_en", "Earth assumed oblate spheroid with major and minor axes specified (in km) by data producer" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (shapeOfTheEarthEEnum.getELiterals().get(4), 
		   source, 
		   new String[] {
			 "description_en", "Earth assumed oblate spheroid as defined in IAG-GRS80 model \r\n(major axis = 6 378 137.0 m, minor axis = 6 356 752.314 m, f = 1/298.257 222 101)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (shapeOfTheEarthEEnum.getELiterals().get(5), 
		   source, 
		   new String[] {
			 "description_en", "Earth assumed represented by WGS84 (as used by ICAO since 1998)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (shapeOfTheEarthEEnum.getELiterals().get(6), 
		   source, 
		   new String[] {
			 "description_en", "Earth assumed spherical with radius of 6 371 229.0 m" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (shapeOfTheEarthEEnum.getELiterals().get(7), 
		   source, 
		   new String[] {
			 "description_en", "Earth assumed oblate spheroid with major or minor axes specified (in m) by data producer" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (shapeOfTheEarthEEnum.getELiterals().get(8), 
		   source, 
		   new String[] {
			 "description_en", "Earth model assumed spherical with radius of 6 371 200 m, \r\nbut the horizontal datum of the resulting latitude/longitude field is the WGS84 reference frame" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (shapeOfTheEarthEEnum.getELiterals().get(9), 
		   source, 
		   new String[] {
			 "description_en", "Earth represented by the Ordnance Survey Great Britain 1936 Datum, \r\nusing the Airy 1830 Spheroid, the Greenwich meridian as 0 longitude,\r\nand the Newlyn datum as mean sea level, 0 height" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (shapeOfTheEarthEEnum.getELiterals().get(10), 
		   source, 
		   new String[] {
			 "description_en", "Missing" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridPointPositionEEnum, 
		   source, 
		   new String[] {
			 "description_en", "Code table 3.8 \u2013 Grid point position" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridPointPositionEEnum.getELiterals().get(0), 
		   source, 
		   new String[] {
			 "description_en", "Grid points at triangle vertices" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridPointPositionEEnum.getELiterals().get(1), 
		   source, 
		   new String[] {
			 "description_en", "Grid points at centres of triangles" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridPointPositionEEnum.getELiterals().get(2), 
		   source, 
		   new String[] {
			 "description_en", "Grid points at midpoints of triangle sides" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (gridPointPositionEEnum.getELiterals().get(3), 
		   source, 
		   new String[] {
			 "description_en", "Missing" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (interpretationOfListOfNumbersAtEndOfSection3EEnum, 
		   source, 
		   new String[] {
			 "description_en", "Code table 3.11 \u2013 Interpretation of list of numbers at end of section 3", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1_en", "For entry 1, it should be noted that depending on values of extreme (first/last) coordinates, and regardless of\r\nbit-map, effective number of points per row may be less than the number of points on the current circle.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2_en", "The value for the constant direction increment Di (or Dx) in the accompanying Grid definition template should be\r\nset to all ones (missing)." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (interpretationOfListOfNumbersAtEndOfSection3EEnum.getELiterals().get(0), 
		   source, 
		   new String[] {
			 "description_en", "There is no appended list" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (interpretationOfListOfNumbersAtEndOfSection3EEnum.getELiterals().get(1), 
		   source, 
		   new String[] {
			 "description_en", "Numbers define number of points corresponding to full coordinate circles (i.e. parallels), \r\ncoordinate values on each circle are multiple of the circle mesh, and extreme coordinate \r\nvalues given in grid definition (i.e. extreme longitudes) may not be reached in all rows" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (interpretationOfListOfNumbersAtEndOfSection3EEnum.getELiterals().get(2), 
		   source, 
		   new String[] {
			 "description_en", "Numbers define number of points corresponding to coordinate lines delimited by \r\nextreme coordinate values given in grid definition (i.e. extreme longitudes) which \r\nare present in each row" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (interpretationOfListOfNumbersAtEndOfSection3EEnum.getELiterals().get(3), 
		   source, 
		   new String[] {
			 "description_en", "Numbers define the actual latitudes for each row in the grid. The list of \r\nnumbers are integer values of the valid latitudes in microdegrees (scaled by 10\u20136) or\r\nin unit equal to the ratio of the basic angle and the subdivisions number for each row, \r\nin the same order as specified in the \"scanning mode flag\" (bit no. 2) (see Note 2)." //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
		   });		
		addAnnotation
		  (interpretationOfListOfNumbersAtEndOfSection3EEnum.getELiterals().get(4), 
		   source, 
		   new String[] {
			 "description_en", "Missing" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (physicalMeaningOfVerticalCoordinateEEnum, 
		   source, 
		   new String[] {
			 "description_en", "Code table 3.15 \u2013 Physical meaning of vertical coordinate", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1_en", "Negative values associated to this coordinate will indicate depth below ground surface. If values are all below\r\nsurface, use of entry 106 is recommended, with positive coordinate values instead.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2_en", "The Eta vertical coordinate system involves normalizing the pressure at some point on a specific level by the\r\nmean sea level pressure at that point." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (physicalMeaningOfVerticalCoordinateEEnum.getELiterals().get(0), 
		   source, 
		   new String[] {
			 "unit", "K", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Temperature" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (physicalMeaningOfVerticalCoordinateEEnum.getELiterals().get(1), 
		   source, 
		   new String[] {
			 "unit", "Pa", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Pressure" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (physicalMeaningOfVerticalCoordinateEEnum.getELiterals().get(2), 
		   source, 
		   new String[] {
			 "unit", "Pa", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Pressure deviation from mean sea level" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (physicalMeaningOfVerticalCoordinateEEnum.getELiterals().get(3), 
		   source, 
		   new String[] {
			 "unit", "m", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Altitude above mean sea level" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (physicalMeaningOfVerticalCoordinateEEnum.getELiterals().get(4), 
		   source, 
		   new String[] {
			 "unit", "m", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Height above ground (see Note 1)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (physicalMeaningOfVerticalCoordinateEEnum.getELiterals().get(5), 
		   source, 
		   new String[] {
			 "unit", "", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Sigma coordinate" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (physicalMeaningOfVerticalCoordinateEEnum.getELiterals().get(6), 
		   source, 
		   new String[] {
			 "unit", "", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Hybrid coordinate" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (physicalMeaningOfVerticalCoordinateEEnum.getELiterals().get(7), 
		   source, 
		   new String[] {
			 "unit", "m", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Depth below land surface" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (physicalMeaningOfVerticalCoordinateEEnum.getELiterals().get(8), 
		   source, 
		   new String[] {
			 "unit", "K", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Potential temperature (theta)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (physicalMeaningOfVerticalCoordinateEEnum.getELiterals().get(9), 
		   source, 
		   new String[] {
			 "unit", "Pa", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Pressure deviation from ground to level" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (physicalMeaningOfVerticalCoordinateEEnum.getELiterals().get(10), 
		   source, 
		   new String[] {
			 "unit", "K m\u20132 kg\u20131 s\u20131", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Potential vorticity" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (physicalMeaningOfVerticalCoordinateEEnum.getELiterals().get(11), 
		   source, 
		   new String[] {
			 "unit", "m", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Geometrical height" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (physicalMeaningOfVerticalCoordinateEEnum.getELiterals().get(12), 
		   source, 
		   new String[] {
			 "unit", "", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Eta coordinate (see Note 2)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (physicalMeaningOfVerticalCoordinateEEnum.getELiterals().get(13), 
		   source, 
		   new String[] {
			 "unit", "gpm", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Geopotential height" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (physicalMeaningOfVerticalCoordinateEEnum.getELiterals().get(14), 
		   source, 
		   new String[] {
			 "unit", "", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Logarithmic hybrid coordinate" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (physicalMeaningOfVerticalCoordinateEEnum.getELiterals().get(15), 
		   source, 
		   new String[] {
			 "unit", "m", //$NON-NLS-1$ //$NON-NLS-2$
			 "description_en", "Depth below sea level" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (physicalMeaningOfVerticalCoordinateEEnum.getELiterals().get(16), 
		   source, 
		   new String[] {
			 "description_en", "Missing" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (typeOfHorizontalLineEEnum, 
		   source, 
		   new String[] {
			 "description_en", "Code table 3.20 \u2013 Type of horizontal line" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (typeOfHorizontalLineEEnum.getELiterals().get(0), 
		   source, 
		   new String[] {
			 "description_en", "Rhumb" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (typeOfHorizontalLineEEnum.getELiterals().get(1), 
		   source, 
		   new String[] {
			 "description_en", "Great Circle" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (typeOfHorizontalLineEEnum.getELiterals().get(2), 
		   source, 
		   new String[] {
			 "description_en", "Missing" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (verticalDimensionCoordinateValuesDefinitionEEnum, 
		   source, 
		   new String[] {
			 "description_en", "Code table 3.21 \u2013 Vertical dimension coordinate values definition" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (verticalDimensionCoordinateValuesDefinitionEEnum.getELiterals().get(0), 
		   source, 
		   new String[] {
			 "description_en", "Explicit coordinate values set" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (verticalDimensionCoordinateValuesDefinitionEEnum.getELiterals().get(1), 
		   source, 
		   new String[] {
			 "description_en", "Linear coordinates\r\nf(1) = C1\r\nf(n) = f(n\u20131) + C2" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (verticalDimensionCoordinateValuesDefinitionEEnum.getELiterals().get(2), 
		   source, 
		   new String[] {
			 "description_en", "Geometric coordinates\r\nf(1) = C1\r\nf(n) = C2 \u00d7 f(n\u20131)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (verticalDimensionCoordinateValuesDefinitionEEnum.getELiterals().get(3), 
		   source, 
		   new String[] {
			 "description_en", "Missing" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (resolutionAndComponentFlagsEEnum, 
		   source, 
		   new String[] {
			 "description_en", "Flag table 3.3 \u2013 Resolution and component flags" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (resolutionAndComponentFlagsEEnum.getELiterals().get(0), 
		   source, 
		   new String[] {
			 "0_en", "i direction increments not given", //$NON-NLS-1$ //$NON-NLS-2$
			 "1_en", "i direction increments given" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (resolutionAndComponentFlagsEEnum.getELiterals().get(1), 
		   source, 
		   new String[] {
			 "0_en", "j direction increments not given", //$NON-NLS-1$ //$NON-NLS-2$
			 "1_en", "j direction increments given" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (resolutionAndComponentFlagsEEnum.getELiterals().get(2), 
		   source, 
		   new String[] {
			 "0_en", "Resolved u- and v- components of vector quantities relative to easterly and northerly\r\ndirections", //$NON-NLS-1$ //$NON-NLS-2$
			 "1_en", "Resolved u- and v- components of vector quantities relative to the defined grid in the\r\ndirection of increasing x and y (or i and j) coordinates, respectively" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (scanningModeEEnum, 
		   source, 
		   new String[] {
			 "description_en", "Flag table 3.4 \u2013 Scanning mode", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1_en", "i direction: west to east along a parallel or left to right along an x-axis.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_2_en", "j direction: south to north along a meridian, or bottom to top along a y-axis.", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_3_en", "If bit number 4 is set, the first row scan is as defined by previous flags." //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (scanningModeEEnum.getELiterals().get(0), 
		   source, 
		   new String[] {
			 "0_en", "Points of first row or column scan in the +i (+x) direction", //$NON-NLS-1$ //$NON-NLS-2$
			 "1_en", "Points of first row or column scan in the \u2013i (\u2013x) direction" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (scanningModeEEnum.getELiterals().get(1), 
		   source, 
		   new String[] {
			 "0_en", "Points of first row or column scan in the \u2013j (\u2013y) direction", //$NON-NLS-1$ //$NON-NLS-2$
			 "1_en", "Points of first row or column scan in the +j (+y) direction" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (scanningModeEEnum.getELiterals().get(2), 
		   source, 
		   new String[] {
			 "0_en", "Adjacent points in i (x) direction are consecutive", //$NON-NLS-1$ //$NON-NLS-2$
			 "1_en", "Adjacent points in j (y) direction is consecutive" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (scanningModeEEnum.getELiterals().get(3), 
		   source, 
		   new String[] {
			 "0_en", "All rows scan in the same direction", //$NON-NLS-1$ //$NON-NLS-2$
			 "1_en", "Adjacent rows scans in the opposite direction" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (projectionCentreEEnum, 
		   source, 
		   new String[] {
			 "description_en", "Flag table 3.5 \u2013 Projection centre" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (projectionCentreEEnum.getELiterals().get(0), 
		   source, 
		   new String[] {
			 "0_en", "North Pole is on the projection plane", //$NON-NLS-1$ //$NON-NLS-2$
			 "1_en", "South Pole is on the projection plane" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (projectionCentreEEnum.getELiterals().get(1), 
		   source, 
		   new String[] {
			 "0_en", "Only one projection centre is used", //$NON-NLS-1$ //$NON-NLS-2$
			 "1_en", "Projection is bipolar and symmetric" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (spectralDataRepresentationTypeEEnum, 
		   source, 
		   new String[] {
			 "description_en", "Code table 3.6 \u2013 Spectral data representation type" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (spectralDataRepresentationTypeEEnum.getELiterals().get(0), 
		   source, 
		   new String[] {
			 "description_en", "The associated Legendre functions of the first kind are defined by:\r\nPm( )\r\nn \u03bc = ( 1) ,m 0\r\nd\r\n(1 ) d\r\n2 n!\r\n1\r\n(n m)!\r\n(2n 1) (n m)! 2 n\r\nn m\r\nn m\r\n2 m/ 2\r\nn \u03bc \u2212 \u2265\r\n\u03bc\r\n\u2212 \u03bc\r\n+\r\n\u2212\r\n+ +\r\n+\r\nP ( ) Pm( )\r\nn\r\nm\r\nn \u2212 \u03bc = \u03bc\r\nA field F(\u03bb, \u03bc) is represented by:\r\n\u03bb\r\n=\u2212 =\r\n\u03bb \u03bc = \u03a3 \u03a3 m \u03bc im\r\nn\r\nm\r\nn\r\nN(m)\r\nn m\r\nM\r\nm m\r\nF( , ) F P ( )e\r\nwhere \u03bb is the longitude,\r\n\u03bc the sine of latitude,\r\nand m the complex conjugate of\r\nn F\u2212 m\r\nn F\r\nI" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (spectralDataRepresentationModeEEnum, 
		   source, 
		   new String[] {
			 "description_en", "Code table 3.7 \u2013 Spectral data representation mode", //$NON-NLS-1$ //$NON-NLS-2$
			 "note_1_en", "Values of N(m) for common truncation cases:\r\nTriangular: M = J = K, N(m) = J\r\nRhomboidal: K = J + M, N(m) = J + m\r\nTrapezoidal: K = J, K > M, N(m) = J" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (spectralDataRepresentationModeEEnum.getELiterals().get(0), 
		   source, 
		   new String[] {
			 "description_en", "The complex numbers (see code figure 1 in Code table 3.6) are stored for m \u2265 0 as\r\npairs of real numbers Re( ), Im( ) ordered with n increasing from m to N(m), first for\r\nm = 0 and then for m = 1, 2, ... M (see Note)" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (spectralDataRepresentationModeEEnum.getELiterals().get(1), 
		   source, 
		   new String[] {
			 "description_en", "Missing" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (numberingOrderOfDiamondsAsSeenFromTheCorrespondingPoleEEnum, 
		   source, 
		   new String[] {
			 "description_en", "Flag table 3.9 \u2013 Numbering order of diamonds as seen from the corresponding pole" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (numberingOrderOfDiamondsAsSeenFromTheCorrespondingPoleEEnum.getELiterals().get(0), 
		   source, 
		   new String[] {
			 "0_en", "Points scan in +i direction, i.e. from pole to Equator", //$NON-NLS-1$ //$NON-NLS-2$
			 "1_en", "Points scan in \u2013i direction, i.e. from Equator to pole" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (numberingOrderOfDiamondsAsSeenFromTheCorrespondingPoleEEnum.getELiterals().get(1), 
		   source, 
		   new String[] {
			 "0_en", "Points scan in +j direction, i.e. from west to east", //$NON-NLS-1$ //$NON-NLS-2$
			 "1_en", "Points scan in \u2013j direction, i.e. from east to west" //$NON-NLS-1$ //$NON-NLS-2$
		   });		
		addAnnotation
		  (numberingOrderOfDiamondsAsSeenFromTheCorrespondingPoleEEnum.getELiterals().get(2), 
		   source, 
		   new String[] {
			 "0_en", "Adjacent points in i direction are consecutive", //$NON-NLS-1$ //$NON-NLS-2$
			 "1_en", "Adjacent points in j direction are consecutive" //$NON-NLS-1$ //$NON-NLS-2$
		   });
	}

} //GridsPackageImpl
